【发布时间】:2020-06-09 13:45:44
【问题描述】:
我使用推特抓取工具下载了一些关于上次发生的体育赛事的推文。不幸的是,由于研究的性质,我无法返回并修改我的爬虫,因为该事件不会再次发生。推文分为几个类别,例如时间戳、date_created 等。
这些推文存储在 JSON 文件中,我目前正在将它们导出到 pandas
我关注的是每条推文详细信息中的文本和扩展推文类别。
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,但本质上,正如我刚才所说,它是完整帖子的短 twitter 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'
我并不是要找人帮我做作业,但我已经被这个问题困住了一段时间,我最初认为很容易的事情结果比我想象的要困难得多。
有没有人有任何可以帮助我自己解决问题的指示或建议?
谢谢
【问题讨论】:
-
我不知道,但尽量不要添加任何新的首字母缩略词!
标签: python json regex pandas twitter