request結合lxml包中的xpath使用

2021-10-09 17:42:44 字數 1459 閱讀 5160

# coding=utf-8    #爬蟲必須寫,防止編譯錯誤

import requests

import re #正則

from lxml import etree #轉化html文件包

url=

''#統一資源定位符

headers=

#請求頭

html_all=

'''# print(requests.get(url=url,headers=headers).text)

'''#獲取整個html頁面**,獲取的是字串str型別,僅供測試使用

html_all_doc=etree.html(html_all)

#字串轉化成型別,便於使用xpath定位元素

url1_list= html_all_doc.xpath(

'//div//a[@class="twoline"]/@href'

)#xpath定位元素,生成詳情頁部分url位址,獲取後生成列表list型別

# print(html_str)

#拼接詳情頁url

for url1 in url1_list:

url1_z_str=url+url1

# print(url1_z_str)

html1=requests.get(url=url1_z_str,headers=headers)

.text #獲取詳情頁html頁面str型別

html_doc1=etree.html(html1)

#轉化文件

html_str1 = html_doc1.xpath(

'//div[@class="content__aside--title"]/span/text()|//ul[@class="content__aside__list"]/text()'

) html_str2 = html_doc1.xpath(

'//div[@class="content__article__info"]/ul/text()'

) html_str3 = html_doc1.xpath(

'//ul[@class="content__article__info2"][@class="fl oneline "]/text()'

)#定位元素,/text()表示獲取定位的元素中的文字內容,獲取後生成列表list型別

print

('-'

.join(html_str1)

.strip())

print

('-'

.join(html_str2)

.strip())

print

('-'

.join(html_str3)

.strip())

#輸出要的內容,join表示將列表轉化字串輸出,strip作用是清除內容前後的空格

lxml和xpath結合使用

lxml和xpath結合使用主要有以下5個方面內容 1.獲取所有的tr標籤 2.獲取第2個標籤 3.獲取所有class 等於event的tr標籤 4.獲取所有a標籤下的href屬性 5.或許所有的職位資訊 純文字 6.get方法也可以得到屬性 img.get data original 獲取img的...

lxml結合xpath注意事項

1.使用 xpath 語法。應該使用 element.xpath 方法。來執行xpath的選擇。示例 如下 trs html.xpath tr position 1 xpath函式 返回來的永遠是乙個列表。2.獲取某個標籤的屬性 href html.xpath a href 獲取a標籤的href屬性...

python中lxml使用方式

前言 前面已經學習了requests和beautifulsoup庫的知識,大家可以看,今天再來學習一下用一種網頁解析的庫lxml。lxml是python語言裡和xml以及html工作的功能最豐富和最容易使用的庫。lxml是為libxml2和libxslt庫的乙個python化的繫結。它與眾不同的地方...