1. 程式人生 > >Python爬蟲資料提取方式——cssselector樣式選擇器

Python爬蟲資料提取方式——cssselector樣式選擇器

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查詢元素:點選開啟連結