在我的本地计算机上,一切正常,但是当我将其部署在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/

10-11 22:24
查看更多