Python爬蟲資料提取方式——cssselector樣式選擇器
阿新 • • 發佈:2018-12-26
cssselector:和xpath是使用比較多的兩種資料提取方式。cssselector是css樣式選擇器實現的!
scrapy爬蟲框架:支援xpath/css
pyspider爬蟲框架:支援PyQuery,也是通過css樣式選擇器實現的
HTML程式碼示例:
html = """ <div id='content'> <ul class='list'> <li class='one'>哈哈</li> <li class='two'>Two</li> <li class='three'>Three</li> <li class='four four1 four2 four3'>Four</li> <div id='inner'> <a href='http://www.baidu.com'>百度一下</a> <p>第一段</p> <p>第2段</p> <p>第3段</p> <p> 第4段 <span id="first">大師傅大師傅!!</span> </p> <p>第5段</p> <p>第6段</p> </div> </ul> </div> """
安裝:
pip install cssselector
首先匯入:
import cssselect
from lxml.html import etree
將HTML解析成為物件:
#同xpath一樣使用etree
html_obj = etree.HTML(html)
開始查詢元素:
獲取文字內容
span = html_obj.cssselect('.list > .four')[0]
print(span.text)
獲取屬性值:
span = html_obj.cssselect('.list > .four')[0] #help(物件):可以顯示對物件的所有操作 print(help(span)) # 獲取屬性:是一個字典 print(span.attrib['class']) 輸出結果:four four1 four2 four3
其他的部分參考部落格(CSS選擇器——cssSelector定位方式詳解):點選開啟連結
PyQuery查詢元素:點選開啟連結