Повторить паттерн 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.

  • Получить прокси-адрес ip-адрес, используя сканирование
  • Показатели загрузки PyPi кажутся нереалистичными
  • Разница между BeautifulSoup и искателем Scrapy?
  • Python, Selenium: «Элемент больше не привязан к DOM»
  • Как работают правила Scrapy с помощью паука сканирования
  • Как использовать HTMLParser Python для извлечения определенных ссылок
  • Как остановить всех пауков и двигатель сразу после выполнения условия в конвейере?
  • Python Scrapy для автономных (локальных) данных
  • Python - лучший язык программирования в мире.