爬取網頁內容的時候,往往網頁標籤比較複雜,對於這種情況,需要用xpath的starts-with和string(.)功能屬性來處理,具體看事例
#encoding=utf-8
from lxml import
etree
html1 = '''
需要的內容1
需要的內容2
需要的內容3
'''#
提取id屬性為test開頭的的內容,需要使用xpath的start-with屬性
selector =etree.html(html1)
content = selector.xpath('
//div[starts-with(@id,"test")]/text()')
for each in
content:
each
#提取多個標籤層級的內容,需要使用xpath的string(.)將內容轉為字串再獲取
html2 = '''
我左青龍,
右白虎,
老牛在當中,
龍頭在胸口。
'''selector1 =etree.html(html2)
data = selector1.xpath('
//div[@id="test3"]
')[0]
info = data.xpath('
string(.)')
content = info.replace('
\n','').replace('
',''
)print content
輸出:需要的內容1
需要的內容2
需要的內容3
我左青龍,右白虎,上朱雀,下玄武。老牛在當中,龍頭在胸口。
python中的爬蟲神器 XPath 介紹
注意 在使用xpath解析資料時,需要將資料 改為是ie瀏覽器的user agent,否則會出現瀏覽器中可行的xpath 但是在程式中卻用不了 這裡提供ie9的header mozilla 5.0 compatible msie 9.0 windows nt 6.1 win64 x64 triden...
python 爬蟲之xpath用法
xpath全稱為xml path language一種小型的查詢語言,在爬蟲中,我們其實就是拿它來搜尋html文件,僅此而已。而網頁內容只有通過解析才能進行搜尋,所以使用xpath時,需要引入lxml庫,這個庫就是來解析網頁,協助xpath進行搜尋的。lxml庫的安裝,可以直接使用 pip3 ins...
爬蟲xpath介紹以及基本用法
import requests from lxml import etree text html etree.html text 將上述字串解析為html文件,構造xpath的解析物件 result etree.tostring html 這裡是將html文件進行完成的修正 print result...