2011-12-23 2 views
2

Я попытался запустить карты сайта паука, но он отказался ползать архивированную sitemaps.It дали следующей ошибкуScrapy: Карта сайта паук и упакованные в архиве файлы

[scrapy] WARNING: Ignoring non-XML sitemap 

есть параметр, который должен быть включено, чтобы синтаксический разбор gzipped sitemaps?

Я использую Scrapy версию 0,15

ответ

3

Scrapy автоматически распаковать содержимое сжатого.

См ответственного кода contrib/spiders/sitemap.py

 if isinstance(response, XmlResponse): 
      body = response.body 
     elif is_gzipped(response): 
      body = gunzip(response.body) 
     else: 
      log.msg("Ignoring non-XML sitemap: %s" % response, log.WARNING) 
      return 

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

Если вы хотите, я могу выполнить собственный тест, если вы можете предоставить мне свой текущий код - это позволит мне дать вам лучший ответ :-).

1

Вы можете обратить внимание this commit автора Scrapy в сделал вчера:

SitemapSpider: добавлена ​​поддержка карты сайта URL-адресов, оканчивающихся на .xml и .xml.gz, даже если они имеют неверный тип контента

Вы можете попробовать клонировать последнюю версию и повторно попробовать свой паук.

1

Я решил проблему, добавив это в "settings.py" Файл:

DOWNLOADER_MIDDLEWARES = { 
    'scrapy.contrib.downloadermiddleware.httpcompression.HttpCompressionMiddleware': None 
} 

Видимо это Scrapy ошибка: https://github.com/scrapy/scrapy/issues/951