欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年03月06日 09:49:21   作者:帶魚工作室  
這篇文章主要介紹了python-xpath獲取html文檔的部分內(nèi)容,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

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

name = tree.xpath("http://dd[@class='row clearfix ']")
from lxml import html
import requests
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("http://dd[@class='row clearfix ']")
print(name)

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

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

from lxml import html
import requests
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("http://dd[@class='row clearfix ']")
name1 = html.tostring(name[0])
print(name1)

打印截圖:

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

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

from lxml import html
import requests
from html.parser import HTMLParser #導(dǎo)入html解析庫
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("http://dd[@class='row clearfix ']")
name1 = html.tostring(name[0])
name2 = HTMLParser().unescape(name1.decode())
print(name2)

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

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

以上這篇python-xpath獲取html文檔的部分內(nèi)容就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python內(nèi)置數(shù)據(jù)類型list各方法的性能測試過程解析

    Python內(nèi)置數(shù)據(jù)類型list各方法的性能測試過程解析

    這篇文章主要介紹了Python內(nèi)置數(shù)據(jù)類型list各方法的性能測試過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • 定制FileField中的上傳文件名稱實例

    定制FileField中的上傳文件名稱實例

    下面小編就為大家?guī)硪黄ㄖ艶ileField中的上傳文件名稱實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • python跳出雙層for循環(huán)的解決方法

    python跳出雙層for循環(huán)的解決方法

    今天小編就為大家分享一篇python跳出雙層for循環(huán)的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python演示解答正則為什么是最強(qiáng)文本處理工具

    python演示解答正則為什么是最強(qiáng)文本處理工具

    正則表達(dá)式又稱規(guī)則表達(dá)式,通常被用來檢索、替換那些符合某個模式(規(guī)則)的文本,它是最強(qiáng)的文本處理工具,至于原因本文將給你答案
    2021-09-09
  • 如何利用PyQt5制作一個簡單的登錄界面

    如何利用PyQt5制作一個簡單的登錄界面

    初學(xué)者制作登錄界面時常遇到網(wǎng)上代碼看不懂、不會用、用不了的問題,下面這篇文章主要給大家介紹了關(guān)于如何利用PyQt5制作一個簡單的登錄界面,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • python常見排序算法基礎(chǔ)教程

    python常見排序算法基礎(chǔ)教程

    這篇文章主要為大家詳細(xì)介紹了python算法的基礎(chǔ)教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Anaconda使用IDLE的實現(xiàn)示例

    Anaconda使用IDLE的實現(xiàn)示例

    這篇文章主要介紹了Anaconda使用IDLE的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python中@contextmanager裝飾器的用法詳解

    python中@contextmanager裝飾器的用法詳解

    這篇文章主要介紹了python中@contextmanager裝飾器的用法詳解,@contextmanager 的作用就是我們可以把一個非自定義類改成一個上下文管理器,需要的朋友可以參考下
    2023-07-07
  • Python調(diào)用本地大模型實現(xiàn)Excel表格數(shù)據(jù)匹配與填充

    Python調(diào)用本地大模型實現(xiàn)Excel表格數(shù)據(jù)匹配與填充

    這篇文章主要為大家詳細(xì)介紹了Python如何調(diào)用本地大模型實現(xiàn)Excel表格數(shù)據(jù)匹配與填充功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2025-05-05
  • Python解決走迷宮問題算法示例

    Python解決走迷宮問題算法示例

    這篇文章主要介紹了Python解決走迷宮問題算法,結(jié)合實例形式分析了Python基于二維數(shù)組的深度優(yōu)先遍歷算法解決走迷宮問題相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07

最新評論