在我的本地计算机上,一切正常,但是当我将其部署在ScrapingHub上时,出现错误消息,提示所有“ ImportError:没有名为mysql.connector的模块”。
我需要做的是,每当我运行Spider或执行作业计划时,它将自动通过数据库添加所有已刮除的项目。
如果我没有解决这个问题的选择,我也试图使用item API
请帮助谢谢!
答案 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作为服务器,则命令可能会不同。