使用snscrape爬取阿拉伯语#Covid19推特失败求助
解决方案:修复snscrape爬取阿拉伯语#Covid19推特的过滤问题
你的代码核心问题是查询参数格式错误:snscrape.modules.twitter.TwitterSearchScraper需要接收单个字符串格式的Twitter搜索指令,而非列表。你传入的列表会被解析失败,导致lang:ar的语言过滤规则没有生效。
Twitter官方搜索语法支持用空格拼接多个筛选条件,正确的做法是把话题标签和语言限制合并成一个字符串:
import snscrape.modules.twitter as sntwitter # 合并为单个字符串的查询指令,空格分隔多个条件 query = "#Covid19 lang:ar" tweets = [] limit = 5000 for tweet in sntwitter.TwitterSearchScraper(query).get_items(): if len(tweets) == limit: break tweets.append([tweet.date, tweet.username, tweet.content])
这样修改后,snscrape会严格按照Twitter的搜索规则,只返回带有#Covid19标签的阿拉伯语推文。
内容的提问来源于stack exchange,提问作者Huda Mg
相关产品推荐
相关产品推荐

