日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python3網絡爬蟲之解析庫pyquery的使用(三)

系統 1878 0

pyquery的安裝:

ubtuntu和windows下安裝lxml:pip3 install pyquery

驗證安裝:安裝完成,在python命令行下輸入import pyquery?沒有報錯,證明庫已經安裝好了。

pyquery的介紹:

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

pyquery的官網:

http://pyquery.readthedocs.io

pyquery的常用操作:

(1)pyquery常見的初始化方式:傳入字符串初始化;傳入URL初始化,傳入文件名初始化等

傳入字符串初始化:

            
              from pyquery import PyQuery 
 
html = '''
              
              '''
 
doc = PyQuery(html)#html變量是一個字符串類型,作為參數用來初始化
print(doc)
print(type(doc))
print(doc('li'))


            
          

傳入URL初始化:

            
              from pyquery import PyQuery
doc = PyQuery('https://www.baidu.com')
# doc1 = pq(url='https://www.baidu.com')
print(doc)
print(doc('head'))
            
          

傳入文件名初始化:

            
              from pyquery import PyQuery
doc = PyQuery(filename='./test.html')
print(doc('head'))
            
          

(2)pyquery基于CSS選擇器進行查找

規則:

Python3網絡爬蟲之解析庫pyquery的使用(三)_第1張圖片

            
              from pyquery import PyQuery 
 
html = '''
              
              '''
 
doc = PyQuery(html)
print(doc)
#id等于haha下面的class等于item-0下的a標簽下的span標簽(注意層級關系以空格隔開)
print(doc('#haha .item-0 a span'))
            
          

(3)DOM操作(或者叫節點操作)

屬性的增刪操作:

            
              from pyquery import PyQuery 
 
html = '''
              
              '''
 
doc = PyQuery(html)
li = doc('.item-0.active')
print(li)
#刪除classactive
print(li.removeClass('active'))
#增加class屬性eee
print(li.addClass('eee'))
            
          

attr、text、html、css:

當然,除了操作class這個屬性外,也可以用attr()方法對屬性進行操作。此外,還可以用text()和html()方法來改變節點內容的內容,使用css()方法對css屬性進行操作

            
              from pyquery import PyQuery 
 
html = '''
              
              '''
 
doc = PyQuery(html)
li = doc('.item-0.active')
print(li)
print(li.attr('id','id_test'))
print(li.text('changed item'))
print(li.css('font-size','20px'))
print(li.html('
              
                changed item'))
              
            
          

為了方便理解,這是運行截圖:

Python3網絡爬蟲之解析庫pyquery的使用(三)_第2張圖片

?

remove:

刪除某個標簽,在爬取過程中我們通常爬去一下標簽或者內容下來的時候總會有些不想要的標簽,這個時候我們可以用下面的類似方法刪除這個標簽

            
              from pyquery import PyQuery 
 
html = '''
              
              '''
 
doc = PyQuery(html)
data = doc('.content')
print(data.text())
#刪除所有a標簽
data.find('a').remove()
#再次打印
print(data.text())
            
          

其實還有很多節點操作方法,比如append(),empty()和prepend()等方法(其實這些方法在爬蟲基本用不到),她們和jquery()方法一致,詳細的用法可以參考文檔http://pyquery.readthedocs.io/en/latest/api.html

?

其實還有很多,不過基本都用不到,在爬蟲的時候。哈哈哈,其實,我也就知道這么多

?

?

?

?

?

?

?

?

?

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 吉林市| 满城县| 武汉市| 开化县| 新和县| 进贤县| 安仁县| 天水市| 阿图什市| 绵竹市| 锡林郭勒盟| 辉南县| 安国市| 贵州省| 灵川县| 富阳市| 南漳县| 博白县| 宜丰县| 冕宁县| 罗源县| 靖西县| 广东省| 民丰县| 玛多县| 丽江市| 佳木斯市| 北京市| 炉霍县| 于田县| 宝清县| 西乌| 平塘县| 泗水县| 平泉县| 丹寨县| 虹口区| 定襄县| 阳城县| 郸城县| 水富县|