爬蟲pyquery基礎篇

2021-09-08 23:47:13 字數 2334 閱讀 9680

一 點睛

如果你對web有所涉及,如果你比較喜歡用css選擇器,如果你對jquery有所了解,那麼這裡有乙個更適合你的解析庫——pyquery。

二 安裝

(venv) e:\webspider>pip install pyquery
三 初始化

1 點睛

pyquery初始化方式有多種,比如直接傳入字串,傳入url,傳入檔名。

2 字串初始化

2.1 **

html = '''

'''from pyquery import pyquery as pq

doc = pq(html)

print(doc('li'))

2.2 結果

e:\webspider\venv\scripts\python.exe e:/webspider/4_3.py

first item

second item

third item

fourth item

fifth item

2.3 說明

這裡首先引入pyquery這個物件,取別名為pq。然後宣告了乙個長html字串,並將其當作引數傳遞給pyquery類,這樣就成功完成了初始化。然後傳入li節點,這樣就可以選擇所有的li節點。

3 url初始化

3.1 **

html = '''

'''from pyquery import pyquery as pq

# 初始化的引數不僅可以以字串的形式傳遞,還可以傳入網頁的url,此時只需要指定引數為url即可

doc = pq(url='')

print(doc('title'))

3.2 結果

e:\webspider\venv\scripts\python.exe e:/webspider/4_3.py

csdn部落格-專業it技術發表平台

3.3 說明

這樣的話,pyquery物件會首先請求這個url,然後用得到的html內容完成初始化,這其實就相當於用網頁的源**以字串的形式傳遞給pyquery類來初始化。

類似實現:

from pyquery import pyquery as pq

import requests

doc = pq(requests.get('').text)

print(doc('title'))

4 檔案初始化

4.1 點睛

當然,除了傳遞url,還可以傳遞本地的檔名,此時將引數指定為filename即可。

4.2 **

from pyquery import pyquery as pq

doc = pq(filename='demo.html')

print(doc('li'))

4.3 說明

當然,這裡需要有乙個本地html檔案demo.html,其內容是待解析的html字串。這樣它會首先讀取本地的檔案內容,然後用檔案內容以字串的形式傳遞給pyquery類來初始化。

以上3種初始化方式均可,當然最常用的初始化方式還是以字串形式傳遞。

四 css選擇器

1 **

html = '''

'''from pyquery import pyquery as pq

doc = pq(html)

print(doc('#container .list li'))

print(type(doc('#container .list li')))

2 結果

e:\webspider\venv\scripts\python.exe e:/webspider/4_3.py

first item

second item

third item

fourth item

fifth item

3 說明

這裡我們初始化pyquery物件之後,傳入了乙個css選擇器#container .list li,它的意思是先選取id為container的節點,然後再選取其內部的class為list的節點內部的所有li節點。然後,列印輸出。可以看到,我們成功獲取到了符合條件的節點。

最後,將它的型別列印輸出。可以看到,它的型別依然是pyquery型別。

爬蟲pyquery中級篇

一 遍歷 1 點睛 pyquery的選擇結果可能是多個節點,也可能是單個節點,型別都是pyquery型別,並沒有返回像beautiful soup那樣的列表。2 單節點 2.1 html from pyquery import pyquery as pq doc pq html li doc ite...

爬蟲入門之pyQuery

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

爬蟲筆記 PyQuery模組(七)

pyquery模組也是乙個解析html的乙個模組,它和beautiful soup用起來差不多,它是jquery實現的,和jquery語法差不多,會用jquery的人用起來就比較方便了。pyquery需要依賴lxml模組,不裝的話,使用會報錯。安裝 pip install lxml pip inst...