Повторить паттерн Scrapy по сохраненным данным

Я начал использовать Scrapy для очистки нескольких веб-сайтов. Если позже я добавлю новое поле в свою модель или измените свои функции синтаксического анализа, я бы хотел «повторно воспроизвести» загруженные исходные данные в автономном режиме, чтобы снова очистить его. Похоже, что Scrapy имела возможность хранить необработанные данные в файле воспроизведения в какой-то момент:

http://dev.scrapy.org/browser/scrapy/trunk/scrapy/command/commands/replay.py?rev=168

Но эта функциональность, похоже, была удалена в текущей версии Scrapy. Есть ли другой способ достичь этого?

2 Solutions collect form web for “Повторить паттерн Scrapy по сохраненным данным”

Если вы запустите crawl --record=[cache.file] [scraper] , вы сможете использовать replay [scraper] .

Кроме того, вы можете кэшировать все ответы с помощью HttpCacheMiddleware , включив его в DOWNLOADER_MIDDLEWARES :

 DOWNLOADER_MIDDLEWARES = { 'scrapy.contrib.downloadermiddleware.httpcache.HttpCacheMiddleware': 300, } 

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

Вы можете включить HTTPCACHE_ENABLED, как сказано в http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html?highlight=FilesystemCacheStorage#httpcache-enabled

для кэширования всех запросов и ответов HTTP для реализации сканирования сканирования.

ИЛИ попробуйте выполнить задания для приостановки и возобновления обхода http://scrapy.readthedocs.org/ru/latest/topics/jobs.html.

  • Веб-искатель с использованием Twisted
  • Как я могу сканировать веб-данные, которые не находятся в тегах
  • Как использовать модуль Python Scrapy для отображения всех URL-адресов с моего сайта?
  • Какая разница между синтаксическим разбором HTML и обходом веб-страниц в python
  • порядок URL-адресов Scrapy Crawling с длинным списком start_urls и URL-адресов yiels от паука
  • Запрос Scrapy не переходит к обратному вызову, когда 301?
  • Как понять этот необработанный HTML-код Yahoo! Финансы при извлечении данных с помощью Python?
  • Локально запустите всех пауков в Scrapy
  • Python - лучший язык программирования в мире.