Scrapy не удаляет все нужные URL при запуске с настройками по умолчанию - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь очистить URL-адреса вида:

https://in.bookmyshow.com/XXXXX/cinemas: где 'XXXXX' - название любого города.У меня в файле около 880 разных названий городов.И я хочу извлечь данные из каждого URL.

Мой пример кода выглядит следующим образом: https://www.jdoodle.com/a/u1E

Файл, из которого считываются данные, выглядит следующим образом: https://www.jdoodle.com/a/u1G

Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я пытаюсь запустить scrapy с использованием настроек по умолчанию, он запускается асинхронно и одновременно.Однако при этом он пропускает половину URL-адресов, которые нужно очистить.

Кроме того, если я запускаю scrapy, используя настройки, указанные в option 2 : (см. Ниже).Он удаляет все URL, но на этот раз требуется безумное количество времени для завершения.

Нет ли способа, с помощью которого я по-прежнему могу запускать свой сценарий одновременно, не теряя данные для очистки.

Опция 1:

Настройки: По умолчанию

Статистика:

'downloader / request_count': 1331

item_scraped_count ': 444

Время выполнения: 9 минут

Вариант 2:

Настройки: {'AUTOTHROTTLE_ENABLED': True, 'CONCURRENT_REQUESTS': 1, 'DOWNLOAD_DELAY': 3}

Статистика:

'downloader / request_count': 1772

item_scraped_count ': 878

Время выполнения: 1 час-45 минут

1 Ответ

0 голосов
/ 26 апреля 2018

Похоже, ваша проблема не в задержке, а в параллельности. Когда у вас есть 1 параллельный запрос в минуту, он работает, когда у вас больше, нет. Скорее всего, это связано с тем, что веб-сайт обслуживает вас на основе ваших файлов cookie.

Попробуйте отключить файлы cookie с помощью COOKIES_ENABLED настроек в вашем файле settings.py:

COOKIES_ENABLED = False

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

См .: https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#multiple-cookie-sessions-per-spider

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...