# 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化的繫結。它與眾不同的地方...