使用snscrape时遇TypeError:TwitterUserScraper初始化参数异常
问题修复方案
错误原因
你遇到的TypeError是因为snscrape版本更新后,TwitterUserScraper的初始化参数规则发生了变化。旧版本允许传递第二个位置参数来控制是否排除回复,但新版本仅接受用户名作为位置参数,其他配置需通过关键字参数传递,直接传位置参数会被判定为多余参数。
修复步骤
1. 修正TwitterUserScraper初始化代码
如果你的需求是保留用户的回复(对应原代码的False),改用关键字参数传递配置:
scraper = twitterScraper.TwitterUserScraper("elonmusk", excludeReplies=False)
如果不需要额外配置,直接去掉第二个参数即可:
scraper = twitterScraper.TwitterUserScraper("elonmusk")
2. 修正循环内的打印逻辑
原代码的print语句在循环外部,只会打印最后一条循环的推文内容。将print缩进,放到循环内部,才能打印前3条推文:
import snscrape.modules.twitter as twitterScraper scraper = twitterScraper.TwitterUserScraper("elonmusk", excludeReplies=False) for i, tweet in enumerate(scraper.get_items()): if i > 2: break # 缩进后每次循环打印当前推文 print(f"{i} content: {tweet.content}")
内容的提问来源于stack exchange,提问作者Hamza Khan
相关产品推荐
相关产品推荐

