Я использовал скребок для твиттера, чтобы загрузить твиты о спортивном событии, которое происходило в прошлый раз. К сожалению, из-за характера исследования я не могу go вернуть назад и изменить свой скребок, так как событие больше не произойдет. Твиты разделены на несколько категорий, таких как отметка времени, дата создания и c.
Эти твиты хранятся в файле JSON, и в настоящее время я экспортирую их в pandas
Я сосредоточен на категориях text и extended_tweet в деталях каждого твита.
Некоторое время назад Twitter позволил пользователям публиковать более длинные твиты. Когда дело доходит до очистки данных в твиттере, если твит находится ниже начального (140? Я полагаю) предела символов, тогда текст всего твита отображается в текстовой категории без проблем, просто как он мне нужен для моего будущего исследования .
Однако любые твиты, превышающие ограничение на количество символов, выглядят следующим образом в категории «текст»:
@thedamon @getify I worry adding new terms add complexity and may make it harder for people to learn JavaScript. A… <url>
StackOverflow не позволяет мне отображать короткий URL-адрес, который следует ниже, но по сути, как я только что сказал, это короткий твиттер-URL к полному сообщению
Как видите, текст обрывается на «...», за которым следует ссылка. Чтобы просмотреть полный текст, мне нужно взглянуть на категорию 'extended_tweet', которая затем размещает информацию следующим образом:
{'full_text': '@thedamon @getify I worry adding new terms add complexity and may make it harder for people to learn JavaScript. A sort function is a function you send to sort. Learning a new acronym to abstract that adds unnecessary complexity.', 'display_text_range': [18, 229], 'entities': {'hashtags': [], 'urls': [], 'user_mentions': [{'screen_name': 'thedamon', 'name': 'Damon Muma', 'id': 29938474, 'id_str': '29938474', 'indices': [0, 9]}, {'screen_name': 'getify', 'name': 'getify', 'id': 16686076, 'id_str': '16686076', 'indices': [10, 17]}], 'symbols': []}}
Как вы можете видите, это намного больше деталей, чем просто текст.
В настоящее время я работаю с Python и пытаюсь обернуть мою голову в регулярное выражение. Я мог бы легко нарезать строку из index [i] в index [j], но, поскольку все твиты имеют разную длину, мне нужно убедиться, что я нарезал твит с точки, после которой он начинается, 'full_text': && 'display_text_range'
Я не прошу, чтобы кто-то сделал мою домашнюю работу за меня, но я застрял на этой проблеме некоторое время, и то, что я сначала думал, что это будет легко, оказалось намного сложнее, чем я ожидал .
Кто-нибудь получил какие-либо указатели или предложения, которые я мог бы изучить, которые могли бы помочь мне решить проблему самостоятельно?
Спасибо