我正在关注Scrapy 教程。我的项目涉及解析已由 Scrapy 或 wget 下载的文件。我知道我可以为此使用 XPath 选择器,但到目前为止我看到的示例涉及在 Scrapy 的 parse 方法中调用的 XPath 选择器,因此仅适用于 Scrapy 下载的文件。有没有办法可以直接在下载的文件上使用 XPath?我是 Python 和 Scrapy 的新手,所以我找不到在独立的非 Scrapy Python 脚本中调用 XPath 的方法。
问问题
901 次
2 回答
1
您可以Beautiful Soup
用于解析已经下载的文件。它更易于使用
http://www.crummy.com/software/BeautifulSoup/bs4/doc/
即使在用scrapy解析时我也很想使用它
于 2013-01-14T08:31:31.087 回答
1
大多数情况下,scrapylxml
用作 xpath 选择器后端。
您可以直接在任何文件上使用 lxml。
PS https://github.com/scrapy/scrapy/blob/master/scrapy/selector/lxmlsel.py
您还可以手动构造一个 Response 对象并将其提供给 HtmlXPathSelector(未测试):
from scrapy.selector import HtmlXPathSelector
from scrapy.http import TextResponse
body = '<your html page here'
response = TextResponse(url = '', body = body, encoding = 'utf-8')
hxs = HtmlXPathSelector(response)
subcategories = hxs.select("your xpath query here")
print subcategories
于 2013-01-14T07:43:43.090 回答