You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kaggle用Twint无API爬取推特时报This event loop already running错误如何解决

报错原因

该错误是Kaggle笔记本底层的Jupyter内核默认已运行一个asyncio事件循环,twint内部异步逻辑会尝试创建新的事件循环,二者冲突导致抛出异常。

解决步骤
  • 第一步:在所有twint相关代码的最开头,先运行以下代码安装并启用嵌套事件循环补丁:
!pip install nest_asyncio
import nest_asyncio
nest_asyncio.apply()
  • 第二步:调整你的twint配置,新增Force_thread参数强制twint用独立线程运行异步逻辑,避免和内核默认事件循环冲突,修改后的函数代码如下:
#Cities list of Pakistan
all_cities = ["Bagh", ...]

def scrape_by_city(keywords, since, outfile):
    unique_cities=set(all_cities) #To get unique cities of country
    cities = sorted(unique_cities) #Sort & convert datatype to list
    for city in cities:
        print(city)
        c = twint.Config()
        c.Search = keywords #search keyword
        c.Since = since
        c.Store_csv = True
        c.Output = "./" + outfile
        c.Near = city
        c.Hide_output = True
        c.Count = True
        c.Stats = True
        c.Resume = 'resume.txt'
        # 新增以下兼容配置
        c.Force_thread = True
        twint.run.Search(c)
scrape_by_city('', '2020-08-5 15:55:00', 'Pakistan_Tweets_Dataset.csv')
额外说明

如果爬取过程中出现中断,你可以直接重新运行函数,resume.txt会记录断点位置,输出的csv文件也会自动追加新数据,不会覆盖之前已经爬取的内容。

内容的提问来源于stack exchange,提问作者Soheil Paper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:06:03