pyquery解析器總結

2021-09-27 01:20:59 字數 1491 閱讀 6194

python爬蟲之pyquery解析器

pyquery是乙個類似於jquery的解析網頁工具,使用lxml操作xml和html文件,它的語法和jquery很像。和xpath,beautiful soup比起來,pyquery更加靈活,提供增加節點的class資訊,移除某個節點,提取文字資訊等功能。

1.安裝

pip3 install pyquery
2.簡單使用

pyquery庫的引用:(注意大小寫)

from pyquery import pyquery as pq

find(selector) : 使用css選擇器查詢

filter(selector) : 根據id或者class過濾節點

直接對pyquery物件使用css選擇器查詢節點

.eq(index) : 根據索引獲取指定的節點(從0開始)

.text(): 獲取節點的文字

.attr('屬性名') :獲取節點的屬性

注意:

當返回結果包含多個節點時,呼叫attr()方法只會得到第乙個節點的屬性。

在進行屬性獲取的時候觀察一下返回節點是乙個還是多個,如果是多個,則需要遍歷才能依次獲取每個節點的屬性。

具體使用如下:

1.訪問節點屬性:

使用attr()方法訪問節點的屬性:

from pyquery import pyquery as pq

li = pq('

')('li')

print(li.attr("id"))

執行結果:

test1
2.獲取節點文字值

pyquery提供text()和html()方法獲取節點的文字屬性值:

from pyquery import pyquery as pq

html = 'li text value'li = pq(html)('li')

print(li.text())

print(li.html())

執行結果:

li text value

li text value

注意: html()和text()如果沒引數,則是獲取屬性的文字值,如果有引數,則是改變或者新增節點的屬性值。

3.查詢節點

pyquery支援使用css的.和#來查詢節點:

from pyquery import pyquery as pq

html = '''

'''doc = pq(html)

print(doc('.div_tag #ul_tag li'))

執行結果:

hello i am li tag

hello i am li tag too

使用解析器

使用解析器 使用解析器是非常簡單,可以使用它自己的詞法分析器,但是,用fsyacc.exe 產生的解析器總是要求詞法分析器。在這一小節,我們將討論如何使用自己的詞法分析器,以及與解析器聯合。警告記住f 編譯器不能直接使用.fsl 和 fsy 檔案,需要用fslex.exe 和 fsyacc.exe ...

指令碼解析器

指令碼解析器 命令指令碼解析器,自建立一種指令碼語法,解釋執行它。目前指令碼形式類似於命令,沒有變數型別的概念,關鍵字為 if else while break continue 解釋與c語言一樣。上傳 型別 無型別,全為字串看待。作用域 當前大括號中,以及所有子大括號中,退出當前大括號則清除變數。...

網頁解析器

學習任務 1.認識網頁解析器 學習目標 知識目標 1.熟悉網頁解析器 能力目標 1.能夠自主編寫網頁解析器 獲取新url函式 獲取新的url def get new urls self,page url,soup 儲存url new urls set 獲取所有的url 獲取每乙個url new ur...