從網頁中提取資料,scrapy 使用基於 xpath 和 css 表示式的技術叫做選擇器。以下是 xpath 表示式的一些例子:
/html/head/title
/html/head/title/text()
//td
//div[@class=」slice」]
選擇器有四個基本的方法,如下所示:
s.n.
方法 & 描述
extract()、getall()
它返回乙個unicode字串以及所選資料
extract_first()、get()
它返回第乙個unicode字串以及所選資料
re()
它返回unicode字串列表,當正規表示式被賦予作為引數時提取
xpath()
它返回選擇器列表,它代表由指定xpath表示式引數選擇的節點
css()
它返回選擇器列表,它代表由指定css表示式作為引數所選擇的節點
如果使用選擇器想快速的到到效果,我們可以使用scrapy shell
scrapy shell ""
注意windows系統必須使用雙引號
2.1 舉例
從乙個普通的html**提取資料,檢視該**得到的 xpath 的源**。檢測後,可以看到資料將在ul標籤,並選擇 li 標籤中的 元素。
**的下面行顯示了不同型別的資料的提取:
response.xpath('//ul/li')
response.xpath('//ul/li/text()').extract()
response.xpath('//ul/li/a/text()').extract()
response.xpath('//ul/li/a/@href').extract()
scrapy框架Selector提取資料
從頁面中提取資料的核心技術是http文字解析,在python中常用的模組處理 beautifulsoup 非常流行的解析庫,api簡單,但解析的速度慢。lxml 是一套使用c語言編寫的xml解析庫,解析速度快,api相對比較複雜。scrapy中的selector類是基於lxml庫建立的,並且簡化了a...
scrapy框架Selector提取資料
從頁面中提取資料的核心技術是http文字解析,在python中常用的模組處理 beautifulsoup 非常流行的解析庫,api簡單,但解析的速度慢。lxml 是一套使用c語言編寫的xml解析庫,解析速度快,api相對比較複雜。scrapy中的selector類是基於lxml庫建立的,並且簡化了a...
scrapy爬蟲之xpath資料提取工具的使用
xpath是xml路徑語言,它是一種來確定xml文件某部分位置的語言 html屬於xml html的一般格式 表題資訊 head 我們網頁中看到的內容 body html 表示式 描述 標籤 選中根,或根下的第一層標籤 標籤 全域性匹配的標籤 點前節點 當前節點的父節點 選擇所有標籤 text 選中...