国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python-xpath獲取html文檔的部分內(nèi)容

瀏覽:4日期:2022-08-03 15:56:25

有些時(shí)候我在們需要的用正則提取出html中某一個(gè)部分的文字內(nèi)容,如圖:

python-xpath獲取html文檔的部分內(nèi)容

獲取dd部分的html文檔,我們要通過它的一個(gè)屬性去確定他的位置才可以拿到他這個(gè)部分我們可以看到他的這個(gè)屬性class=’row clearfix ’,然后用xpath去獲取到這部分:

name = tree.xpath('//dd[@class=’row clearfix ’]')from lxml import htmlimport requestsurl = ’http://navi.cnki.net/knavi/JournalDetail/GetArticleList?year=2018&issue=04&pykm=DZXU&pageIdx=0&pcode=CJFD’res = requests.get(url)tree = html.fromstring(res.text)name = tree.xpath('//dd[@class=’row clearfix ’]')print(name)

如果直接打印他是不能夠出來的,

python-xpath獲取html文檔的部分內(nèi)容

我們需要對(duì)Element進(jìn)行處理,用到name1 = html.tostring(name[0]),代碼如下:

from lxml import htmlimport requestsurl = ’http://navi.cnki.net/knavi/JournalDetail/GetArticleList?year=2018&issue=04&pykm=DZXU&pageIdx=0&pcode=CJFD’res = requests.get(url)tree = html.fromstring(res.text)name = tree.xpath('//dd[@class=’row clearfix ’]')name1 = html.tostring(name[0])print(name1)

打印截圖:

python-xpath獲取html文檔的部分內(nèi)容

但是大家可以看到里面的等內(nèi)容并不是中文,原因是我們使用tostring方法輸出的是修正后的HTML代碼,但是結(jié)果是bytes類型,在python中bytes類型是不可以進(jìn)行編碼的,需要轉(zhuǎn)換成字符串,使用代碼name1.decode(),此時(shí)我們將bytes類型轉(zhuǎn)換為str(字符串)類型。

那么此時(shí)我們關(guān)鍵是如何將$#26080;此類的符號(hào)轉(zhuǎn)換成漢字!!!那么首先要搞清楚這是什么編碼?這類符號(hào)是HTML、XML 等 SGML 類語言的轉(zhuǎn)義序列。它們不是”編碼“,也就是說我們不能使用utf-8、gbk等編碼進(jìn)行處理,需要使用HTMLParse進(jìn)行處理,完整代碼如下:

from lxml import htmlimport requestsfrom html.parser import HTMLParser #導(dǎo)入html解析庫(kù)url = ’http://navi.cnki.net/knavi/JournalDetail/GetArticleList?year=2018&issue=04&pykm=DZXU&pageIdx=0&pcode=CJFD’res = requests.get(url)tree = html.fromstring(res.text)name = tree.xpath('//dd[@class=’row clearfix ’]')name1 = html.tostring(name[0])name2 = HTMLParser().unescape(name1.decode())print(name2)

此時(shí)運(yùn)行結(jié)果如下:

python-xpath獲取html文檔的部分內(nèi)容

那么此時(shí)就已經(jīng)大功告成了!!!

以上這篇python-xpath獲取html文檔的部分內(nèi)容就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 雅安市| 日照市| 禹城市| 确山县| 三都| 福建省| 修文县| 遵义市| 贵溪市| 尚志市| 广宗县| 阿瓦提县| 金沙县| 吉安县| 芜湖市| 平山县| 安陆市| 谷城县| 普安县| 巴塘县| 福海县| 剑川县| 全椒县| 全南县| 都兰县| 正安县| 汾阳市| 玛曲县| 增城市| 沁水县| 万州区| 叙永县| 乡宁县| 丹江口市| 家居| 正蓝旗| 宁城县| 兰坪| 水富县| 巴南区| 镇雄县|