0

我正在关注Scrapy 教程。我的项目涉及解析已由 Scrapy 或 wget 下载的文件。我知道我可以为此使用 XPath 选择器,但到目前为止我看到的示例涉及在 Scrapy 的 parse 方法中调用的 XPath 选择器,因此仅适用于 Scrapy 下载的文件。有没有办法可以直接在下载的文件上使用 XPath?我是 Python 和 Scrapy 的新手,所以我找不到在独立的非 Scrapy Python 脚本中调用 XPath 的方法。

4

2 回答 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 回答