在搜寻期间,我通常以这种方式捕获链接:

response.xpath("//a[contains(@class, something)/@href").extract()


但是由于某些原因,该特定页面无法正常工作。我在数组中收到的内容是这样的:

['details?lm==true=1=A43', (...)]


正确的输出应为:

['details?lm=&printerView=true&accessType=1&id=A43', (...)]

最佳答案

一段时间后,我发现firefox上的同一页面变得很奇怪...我的问题一直在发生,因为要爬网的页面的内容类型为“ text / xml”而不是html。

要修复我的代码,我做了其他选择器:

sel = scrapy.Selector(text=response.body)
sel.xpath("//a[contains(@class, something)/@href").extract()


现在我有了正确的结果!

['details?lm=&printerView=true&accessType=1&id=A43', (...)]

关于python - 精简地解释提取的html实体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47206593/

10-09 18:40