如何解决推文抓取 - 如何衡量推文强度?
我正在寻找一种方法来获取有关 Twitter 上某些主题标签/关键字的“趋势”信息。假设我想衡量主题标签/关键字“Python”及时发布的频率。例如,今天,“Python”平均每 1 分钟发一次推文,而昨天平均每 2 分钟发一次推文。
我尝试了各种选择,但我总是摆脱 twitter API 的限制,即如果我尝试在最后一天(例如)下载某个主题标签的所有推文,则只会下载特定部分的推文(通过tweepy.cursor)。
您是否有任何想法/脚本示例可以实现类似的结果?图书馆或指南推荐?我在互联网上搜索时没有找到任何帮助。谢谢。
解决方法
您应该检查 twint 存储库。
- 可以获取几乎所有推文(Twitter API 限制为仅最后 3200 条推文);
- 快速初始设置;
- 无需注册 Twitter 即可匿名使用;
这是一个示例代码:
import twint
def scrapeData(search):
c = twint.Config()
c.Search = search
c.Since = '2021-03-05 00:00:00'
c.Until = '2021-03-06 00:00:00'
c.Pandas = True
c.Store_csv = True
c.Hide_output = True
c.Output = f'{search}.csv'
c.Limit = 10 # number of tweets want to fetch
print(f"\n#### Scraping from {c.Since} to {c.Until}")
twint.run.Search(c)
print("\n#### Preview: ")
print(twint.storage.panda.Tweets_df.head())
if __name__ == "__main__":
scrapeData(search="python")
,
尝试一个名为的库: GetOldTweets 或 GetOldTweets3
Twitter 搜索及其 API 并不意味着是详尽的推文来源。 Twitter Streaming API 对可以从与输入参数匹配的推文中提取多远的推文设置了一周的限制。因此,为了提取与一组搜索参数相关的所有历史推文进行分析,需要绕过 Twitter 官方 API,并需要使用模仿 Twitter 搜索引擎的自定义库。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。