scrapy spider提取正确的url但忽略了url参数

时间:2012-07-26 16:18:42

标签: python scrapy url-parameters

我有一个scrapy crawlspider,它使用像这样的规则中的SgmlLinkExtractor从图像映射中提取链接,

Rule(SgmlLinkExtractor(allow_domains=('pressen-haas.de'),
                       restrict_xpaths=('//map[@name="bildmaschinen"]')))

如果你想看一下,开始网址是http://www.pressen-haas.de/neu//machines.php?lang=en。生成的网址格式为http://www.pressen-haas.de/neu//masch_cat.php?lang=en&phid=0,其中phid参数从0到8运行。到目前为止,蜘蛛获得9个不同的网址并抓取它们,问题是当蜘蛛获取所有这些网页时如果您将URL输入浏览器,那么该信息就不可用。我写了一个回调来测试它,

hxs = HtmlXPathSelector(response)
print hxs.select('//text()').extract()

看看有什么,如果您将网址输入浏览器并删除第二个网址参数,即http://www.pressen-haas.de/neu/masch_cat.php?lang=en

,结果就是您所看到的结果

我已经检查过蜘蛛正在抓取正确的网址,我可以将抓取的网址从蜘蛛输出日志复制到浏览器中并且它们工作正常,为什么我可以在浏览器中看到这些网址,但蜘蛛会看到不同的内容?

提前致谢。

1 个答案:

答案 0 :(得分:0)

蜘蛛试图抓取的页面的html格式非常糟糕,我很确定这是问题,而不是蜘蛛本身的问题。