Я читаю канал твитера в формате json, чтобы узнать количество пользователей.Некоторые строки во входном файле могут быть не твитами, а сообщениями, которые сервер Twitter отправлял разработчику (например, уведомления об ограничениях).Мне нужно игнорировать эти сообщения.
Эти сообщения не будут содержать поле create_at и могут быть соответствующим образом отфильтрованы.
Я написал следующий фрагмент кода, чтобы извлечь действительные твиты, изатем извлеките user.id и текст.
def safe_parse(raw_json):
try:
json_object = json.loads(raw_json)
if 'created_at' in json_object:
return json_object
else:
return
except ValueError as error:
return
def get_usr_txt (line):
tmp = safe_parse(line)
if(tmp != None):
return ((tmp.get('user').get('id_str'),tmp.get('text')))
else:
return
Моя задача состоит в том, чтобы я получил еще одного пользователя с именем "Нет"
Вот пример выходных данных (это большой файл)
('49838600', 'Это темперамент, который вы ищете в парне, который будет иметь доступ к нашему ядерному арсеналу.), Нет , (' 2678507624 ',' RT @GrlSmile: @ Ricky_Vaughn99 Да, которыйпочему в 1992 году я перешел от демократа к республиканцу, чтобы проголосовать за Пэт Бьюкенена, который предупреждал обо всех т… '),
Я изо всех сил пытаюсь выяснить, что я делаю неправильно.В файле твитера нет None
, поэтому я предполагаю, что я читаю {"limit":{"track":1,"timestamp_ms":"1456249416070"}}
, но приведенный выше код не должен включать его, если я что-то упустил.
Есть указатели?и спасибо за вашу помощь и ваше время.