簡體   English   中英

Scrapy:如何在已經scrapy / wget下載的文件上使用XPath選擇器?

[英]Scrapy: how to use the XPath selector on files already downloaded by scrapy/wget?

我正在關注Scrapy教程 我的項目涉及解析已經由Scrapy或wget下載的文件。 我知道我可以使用XPath選擇器,但到目前為止我看到的示例涉及在Scrapy中的parse方法中調用XPath選擇器,因此僅適用於Scrapy下載的文件。 有沒有辦法可以直接在下載的文件上使用XPath? 我是Python和Scrapy的新手,所以我找不到在獨立的非Scrapy Python腳本中調用XPath的方法。

大多數時候scrapy使用lxml作為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

您可以使用Beautiful Soup來解析已下載的文件。 它更容易使用

http://www.crummy.com/software/BeautifulSoup/bs4/doc/

即使在使用scrapy進行解析時,我也很樂意使用它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM