【发布时间】:2021-02-13 06:47:43
【问题描述】:
我正在使用 snscrape 下载一些推文。我使用如下所示的简单脚本来抓取与搜索查询匹配的推文。
import snscrape.modules
query = '''(corona OR #covid) until:2020-02-02 since:2020-01-31'''
scraper = snscrape.modules.twitter.TwitterSearchScraper(query=query)
for tweet in scraper.get_items():
print(tweet.content)
break
在我的本地机器上,这运行良好。但是,当我部署到 Heroku 实例时,我收到一个错误 - “无法找到来宾令牌”,由源代码中的 this method 引发。我很难弄清楚这部分代码中发生了什么,因为它根本没有记录在案,而且错误不会在本地发生的事实使调试变得困难。谁能帮我理解这个方法在做什么,以及如何让它在 Heroku 上运行,而不仅仅是在本地运行?下面是来自 heroku cli 的堆栈跟踪。
2020-10-30T18:55:00.849163+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.8/site-packages/snscrape/modules/twitter.py", line 131, in get_items
2020-10-30T18:55:00.849284+00:00 app[worker.1]: guestToken = self._get_guest_token()
2020-10-30T18:55:00.849289+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.8/site-packages/snscrape/modules/twitter.py", line 109, in _get_guest_token
2020-10-30T18:55:00.849496+00:00 app[worker.1]: raise snscrape.base.ScraperException('Unable to find guest token')
2020-10-30T18:55:00.849497+00:00 app[worker.1]: snscrape.base.ScraperException: Unable to find guest token
【问题讨论】:
标签: python heroku web-scraping