Паук парсит изначальную страницу, ищет в ней url-каталогов, передает в парсинг каталогов и ищет url необходимых страниц. На той необходимой странице он ищет информацию, которая записывается в словарь, а потом в базу данных. Скрипт работает только на 40 строк, а потом останавливается. Останавливается сам. Тестировал на разных компьютерах, на разных базах - 40 строк.
База данных - MySQL. Модуль для работы с ней - peewee. Тестировал на двух разных базах - 40 строк.
Настройки:
options = { 'CONCURRENT_ITEMS': 250, 'USER_AGENT': 'Googlebot/2.1 (+http://www.google.com/bot.html)', 'CONCURRENT_REQUESTS': 30, 'DOWNLOAD_DELAY': 0.5, 'COOKIES_ENABLED': False, 'CLOSESPIDER_PAGECOUNT': 1000, 'CLOSESPIDER_TIMEOUT': 3600, }
Код (250 строк): http://pastebin.com/jp9emv9Y
Сайт: http://www.manheimthailand.com/en/site/calendar
Лог:
2014-02-14 20:14:12+0600 [auto] INFO: Crawled 53 pages (at 53 pages/min), scraped 0 items (at 0 items/min) 2014-02-14 20:15:12+0600 [auto] INFO: Crawled 71 pages (at 18 pages/min), scraped 0 items (at 0 items/min) 2014-02-14 20:15:21+0600 [auto] INFO: Closing spider (finished) 2014-02-14 20:15:21+0600 [auto] INFO: Dumping Scrapy stats: {'downloader/request_bytes': 57078, 'downloader/request_count': 75, 'downloader/request_method_count/GET': 75, 'downloader/response_bytes': 2058372, 'downloader/response_count': 75, 'downloader/response_status_count/200': 75, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2014, 2, 14, 14, 15, 21, 192000), 'request_depth_max': 2, 'response_received_count': 75, 'scheduler/dequeued': 75, 'scheduler/dequeued/memory': 75, 'scheduler/enqueued': 75, 'scheduler/enqueued/memory': 75, 'start_time': datetime.datetime(2014, 2, 14, 14, 13, 12, 8000)} 2014-02-14 20:15:21+0600 [auto] INFO: Spider closed (finished)
Пожалуйста, воздержитесь от предложений перейти на что-то другое. Меня интересует ответ именно на этот вопрос.