Scrapy:站点地图蜘蛛和 gzip 压缩文件

San*_*pta 4 sitemap scrapy

我尝试运行站点地图蜘蛛,但它拒绝抓取 gzip 压缩的站点地图。它给出了以下错误

[scrapy] WARNING: Ignoring non-XML sitemap 
Run Code Online (Sandbox Code Playgroud)

是否需要启用一个设置才能允许解析 gzip 站点地图?

我用的是scrapy版本0.15

Sja*_*aak 5

Scrapy 应该自动解压 gzip 压缩的内容。

请参阅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
Run Code Online (Sandbox Code Playgroud)

我认为 XML 格式不正确,或者文件没有​​使用正确的标头进行 gzip 压缩。我建议在您确定其格式正确的站点地图上尝试相同的蜘蛛。

如果您愿意,我可以运行我自己的测试,如果您可以向我提供您当前的代码 - 这将允许我给您一个更好的答案:-)。