爬蟲常用庫之pyquery 庫

2022-03-11 21:18:08 字數 2125 閱讀 6577

pyquery庫是jquery的python實現,可以用於解析html網頁內容,我個人寫過的一些抓取網頁資料的指令碼就是用它來解析html獲取資料的。他的官方文件位址是:今天重新看了一遍整個文件,把它的一些使用方法整理了一下,做個記錄。

使用方法

from pyquery import pyquery as pq

1.可載入一段html字串,或乙個html檔案,或是乙個url位址,

例:d=pq("hello

")d=pq(filename=path_to_html_file)

d=pq(url='')注意:此處url似乎必須寫全

2.html()和text() ——獲取相應的html塊或文字塊,

例:p=pq("")

p('head').html()#返回hello

p('head').text()#返回hello

3.根據html標籤來獲取元素,

例:d=pq('test 1

test 2

')d('p')#返回[,]

print d('p')#返回test 1

test 2

print d('p').html()#返回test 1

注意:當獲取到的元素不只乙個時,html()、text()方法只返回首個元素的相應內容塊

4.eq(index) ——根據給定的索引號得到指定元素

接上例,若想得到第二個p標籤內的內容,則可以:

print d('p').eq(1).html() #返回test 2

5.filter() ——根據類名、id名得到指定元素,例:

d=pq("test 1

test 2

")d('p').filter('#1') #返回

d('p').filter('.2') #返回

6.find() ——查詢巢狀元素,例:

d=pq("test 1

test 2

")d('div').find('p')#返回[, ]

d('div').find('p').eq(0)#返回

7.直接根據類名、id名獲取元素,例:

d=pq("test 1

test 2

")d('#1').html()#返回test 1

d('.2').html()#返回test 2

8.獲取屬性值,例:

d=pq("hello

")d('a').attr('href')#返回

d('p').attr('id')#返回my_id

9.修改屬性值,例:

d('a').attr('href', '')把href屬性修改為了baidu

10.addclass(value) ——為元素新增類,例:

d=pq('

')d.addclass('my_class')#返回

11.hasclass(name) #返回判斷元素是否包含給定的類,例:

d=pq("

")d.hasclass('my_class')#返回true

12.children(selector=none) ——獲取子元素,例:

d=pq("hello

world

")d.children()#返回[, ]

d.children('#2')#返回

13.parents(selector=none)——獲取父元素,例:

d=pq("hello

world

")d('p').parents()#返回

d('#1').parents('span')#返回

d('#1').parents('p')#返回

14.clone() ——返回乙個節點的拷貝

15.empty() ——移除節點內容

16.nextall(selector=none) ——返回後面全部的元素塊,例:

d=pq("hello

world

")d('p:first').nextall()#返回[,

]d('p:last').nextall()#返回[

]17.not_(selector) ——返回不匹配選擇器的元素,例:

d=pq("test 1

test 2

")d('p').not_('#2')#返回

Python爬蟲PyQuery庫基本用法入門教程

pyquery庫也是乙個非常強大又靈活的網頁解析庫,如果你有前端開發經驗的,都應該接觸過jquery,那麼pyquery就是你非常絕佳的選擇,pyquery 是 python 仿照 jquery 的嚴格實現。語法與 jquery 幾乎完全相同,所以不用再去費心去記一些奇怪的方法了。官網位址 jque...

爬蟲入門之pyQuery

pyquery庫是 jquery 的 python 實現,能夠以jquery的語法來操作解析 html 文件,易用性和解析速度都很好 安裝 pip3 install pyquery注意 由於 pyquery 依賴於 lxml 要先安裝 lxml 否則會提示失敗。pip3 install lxmlpy...

pyquery庫的使用

pyquery標籤選擇 獲取了所有的img標籤 css選擇器,你也可以換成不同的class和id 1 import requests 2importre3 from pyquery import pyquery as pq 4 headers 11 response requests.get hea...