1. 程式人生 > >python xpath 解析html--下、下

python xpath 解析html--下、下

用xpath來解析一般標籤都很簡單,因為大多數到可以找到class或者是id等屬性,確定一類情況。但是<table>下有多個<tb>,<ul>下有多個<li>,而且還沒有屬性,類似這種:



解決辦法:

第一種:用etree.HTML()

res = etree.HTML(response.txt)
table_list = res.xpath('//table[@class="xx"]')#這裡的寫法和response.xpath一般寫法大同小異
#得到table_list這個列表,迴圈裡再進行操作
for table in table_list:
item["link"

]= table.xpath('.//td[@class="xx"]//a[1]//@href')
第二種:

res = etree.HTML(response.txt)

之後xpath可以自己不用寫,在要爬取的網頁中,摁F12,會出現下邊這個:

選擇,之後把游標移到你要解析的地方,比如我要爬取的資料有‘泉州’:


看到右側出現對應的原始碼,之後滑鼠右鍵copy->copy xpath,就可以得到/html/body/div[6]/div[1]/ul/li[2]/strong/a,再稍微修改下就可以了。