XPATH 适用于 Chrome,但不适用于 Scrapy

XPATH works in Chrome, but not in Scrapy

我试图抓取一个页面。抱歉,由于我工作的保密协议,我不能透露 link。

 print response.xpath('//tr')

但奇怪的是,XPATH 仅适用于 Chrome Dev Tools,但不适用于 Scrapy。我通过response.body查看了抓取的HTML,HTML是正常的

找到答案了。原来 HTML 坏了,Scrapy 不能自己修复它,所以它需要 Beautiful Soup 的帮助。我这样做:

from scrapy.selector import Selector

from bs4 import BeautifulSoup

fixed_html = str(BeautifulSoup(response.body, "lxml"))

print Selector(text=fixed_html).xpath('//*')