在我的本地计算机上,一切正常,但是当我将其部署在ScrapingHub上时,出现了一个错误,提示所有“ ImportError:没有名为mysql.connector的模块”。
我需要做的就是,每当我运行Spider或执行作业计划时,它将自动通过数据库添加所有已刮除的项目。
另外,如果我没有解决此问题的选择,我也会尝试使用Item API
请帮忙谢谢!
最佳答案
您需要安装MySQL客户端库,以允许您的代码与MySQL服务器通信。我建议您创建一个requirements.txt
文件,以便在ScrapyCloud上安装所需的依赖项。
您应该在项目的基本目录上创建具有以下内容的requirements.txt
:
mysql-connector
然后您的scrapinghub.yml文件:
projects:
default: 12345
requirements:
file: requirements.txt
注意:如果此文件不存在,则可能需要运行一次
shub deploy
才能生成它。您可以在此链接上获得有关如何在SC上安装依赖项的更多信息。
https://support.scrapinghub.com/support/solutions/articles/22000200400-deploying-python-dependencies-for-your-projects-in-scrapy-cloud
需要特别注意的是,由于SC上没有运行MySQL服务器,因此必须将配置指向正在运行的MySQL服务器。
关于python - ScrapingHub:没有名为Mysql.connector的模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55686663/