Получение только записей с собственным текстом reddit praw

Я загружаю 100 лучших постов в Reddit. Тем не менее, многие из них являются либо внешними ссылками, файлами jpg или другими типами нетекстового контента. Поэтому я получаю список, который в основном состоит из пустых единиц. Мне было интересно, есть ли способ получить только те записи, которые содержат selftext. Вот мой код:

импортировать json, импортировать nltk, импортировать повторно, импортировать панды

appended_data = []

subreddit = reddit.subreddit('bitcoin') 

top_python = subreddit.hot(limit=100) entries

for submission in top_python:
    if not submission.stickied:

        appended_data.append(submission.selftext)



str_list = list(filter(None, appended_data)) 

person Economist_Ayahuasca    schedule 30.09.2017    source источник


Ответы (1)


Существует встроенный флаг для проверки того, является ли что-то текстовым сообщением или нет, is_self. Обновленная версия вашего кода будет выглядеть примерно так:

import json 
import nltk 
import re 
import pandas

appended_data = []

subreddit = reddit.subreddit('bitcoin') 

top_python = subreddit.hot(limit=100) entries

for submission in top_python:
    if not submission.stickied and submission.is_self:

        appended_data.append(submission.selftext)



str_list = list(filter(None, appended_data)) 

Если у вас есть дополнительные вопросы, не стесняйтесь оставлять комментарии и спрашивать!

person Zeke Egherman    schedule 27.12.2017