beautifulsoup网页爬虫解析_Python爬虫神器:PyQuery,解析网页更简单,小白也能学会
圖/文:迷神
我們做python爬蟲,通過requests抓取到內容就需要正則匹配,或者其他解析庫解析內容。很多可能和我一樣的人,都使用jquery的,那用的還是非常爽的。而pyquery庫就是jQuery的Python實現,能夠以jQuery的語法來操作解析 HTML 文檔,易用性和解析速度都不錯。
雖然,Beautiful Soup 中可以使用 CSS 選擇器,但是好像他的 CSS 選擇器并沒有想像中的強大,PyQuery反而更優一些,因此,我們來說說,Python爬蟲神器:PyQuery。
PyQuery庫官方文檔
官方文檔:https://pyquery.readthedocs.io/en/latest/
PyPI:https://pypi.org/project/pyquery/
Github:https://github.com/gawel/pyquery
1、PyQuery初始化內容
PyQuery初始化有3種形式:
1.1、直接初始化requests返回的html內容
from pyquery import PyQuery as pq#初始化為PyQuery對象doc = pq(html)print(type(doc))print(doc)1.2、直接讀取文件的形式
#filename參數為html文件路徑doc = pq(filename = 'test.html')print(type(doc))print(doc)1.3、讀取網址的形式
doc = pq(url = 'https://www.toutiao.com')print(type(doc))print(doc)2、常用CSS選擇器:
pyquery強大的地方,就是在于使用了類似jquery一樣的選擇,進行網頁節點解析。
html = """ Python 大法 好 """獲取id為object-1的標簽
print(doc('#object-1'))#返回:好#還可以:print(doc('#container #object-1'))獲取class為object-1的標簽
print(doc('.object-1'))#返回:Python獲取ul標簽:
print(doc('ul'))#返回Python大法好如果獲取多個li,可以遍歷:
a = doc('li')for item in a.items(): print(item)其他的我們還可以查找節點
我們接著介紹一下常用的查找函數,這些查找函數最贊的地方就是它們和 JQuery 的用法完全一致。
find() : 查找節點的所有子孫節點。
children() : 只查找子節點。
parent() : 查找父節點。
parents() : 查找祖先節點。
siblings() : 查找兄弟節點。
3、獲取標簽的信息
我們在定位到目標之后,就需要獲取標簽的內容信息,常用的有:
3.1、attr() 獲取屬性,返回屬性值
object_2 = doc.find('.object-2')print(object_2.attr('class'))#返回object-23.2、text() 標簽的文本
object_1 = docs.find('.object-1')print(object_1.text())#返回Python當然pyquery還有很多,比如remove去掉節點內容,獲取url網址的,還可以自定義cookie和header等。
Beautiful Soup 對新手比較友好,pyquery對用過jquery的來說,更簡單更方便,是一個非常不錯的選擇。
好了,就這么多啦,我是迷神,更多精彩python內容,可以關注我哦,有問題也可以評論哦。
總結
以上是生活随笔為你收集整理的beautifulsoup网页爬虫解析_Python爬虫神器:PyQuery,解析网页更简单,小白也能学会的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 支付宝备用金晚一天还会怎样?有宽限期吗?
- 下一篇: 2017中信银行信用卡违约金收费标准