ScrapingHub:没有名为Mysql.connector的模块

时间:2019-04-15 09:57:13

标签: python mysql scrapy scrapinghub

在我的本地计算机上,一切正常,但是当我将其部署在ScrapingHub上时,出现错误消息,提示所有“ ImportError:没有名为mysql.connector的模块”。

我需要做的是,每当我运行Spider或执行作业计划时,它将自动通过数据库添加所有已刮除的项目。

如果我没有解决这个问题的选择,我也试图使用item API

请帮助谢谢!

2 个答案:

答案 0 :(得分:1)

您需要安装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服务器。

答案 1 :(得分:0)

错误消息非常清楚。您正在尝试抓取一些数据并将其存储到MySQL数据库中。为此,您需要能够连接到MySQL,因此,如果尚未安装MySQL和MySQL的连接器,则需要在服务器上安装MySQL。

此命令为Ubuntu安装连接器:

Transaction

如果您使用其他品牌的Linux作为服务器,则命令可能会不同。