ScrapingHub: нет модуля с именем Mysql.connector - PullRequest
0 голосов
/ 15 апреля 2019

На моем локальном компьютере все работает нормально, но когда я развернул его на ScrapingHub, у меня возникла ошибка: «ImportError: нет модуля с именем mysql.connector».

Все, что мне нужно, это чтобы каждый раз, когда я запускаю своего паука или выполняю график работ, он автоматически добавлял все очищенные элементы в мою базу данных.

Также я пытаюсь использовать API элементов, если у меня нет выбора, чтобы решить эту проблему

Пожалуйста, помогите спасибо!

Ответы [ 2 ]

1 голос
/ 15 апреля 2019

Вам необходимо установить клиентскую библиотеку 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.

0 голосов
/ 15 апреля 2019

Сообщение об ошибке очень ясно.Вы пытаетесь очистить некоторые данные и сохранить их в базе данных MySQL.Для этого вам нужно иметь возможность подключиться к MySQL, поэтому на вашем сервере вам нужно будет установить MySQL, если вы этого еще не сделали, и подключиться к MySQL.

Эта команда устанавливаетразъем для Ubuntu:

sudo apt-get install python3-mysql.connector

Если в качестве сервера у вас установлен Linux другой марки, то команда может отличаться.

...