首页 > 解决方案 > 推文抓取 - 如何衡量推文强度?

问题描述

我正在寻找一种方法来获取有关 Twitter 上某些主题标签/关键字的“趋势”信息。假设我想测量主题标签/关键字“Python”在推特上的发布频率。例如,今天,“Python”平均每 1 分钟发布一次推文,但昨天它平均每 2 分钟发布一次推文。

我尝试了各种选项,但我总是摆脱 twitter API 的限制,即如果我尝试在最后一天(例如)下载主题标签的所有推文,则只会下载一定比例的推文(通过 tweepy.cursor )。

你有什么想法/脚本示例可以实现类似的结果吗?图书馆或指南推荐?我在互联网上搜索时没有找到任何帮助。谢谢你。

标签: pythonweb-scrapingtwittertweepy

解决方案


您应该检查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")


推荐阅读