在我的本地计算机中,一切正常,但是当我将其部署在 ScrapingHub 上时,我收到一条错误消息,提示“ImportError:没有名为 mysql.connector 的模块”。
我所需要的只是,每当我运行蜘蛛或运行作业计划时,它都会自动通过我的数据库添加所有抓取的项目。
如果我无法选择解决此问题,我也会尝试使用 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
需要注意的是,您必须将配置指向正在运行的 MySQL 服务器,因为 SC 上没有运行 MySQL 服务器。
关于python - ScrapingHub:没有名为 Mysql.connector 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55686663/