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

Python3網(wǎng)絡(luò)爬蟲之解析庫pyquery的使用(三)

系統(tǒng) 2260 0

pyquery的安裝:

ubtuntu和windows下安裝lxml:pip3 install pyquery

驗(yàn)證安裝:安裝完成,在python命令行下輸入import pyquery?沒有報(bào)錯(cuò),證明庫已經(jīng)安裝好了。

pyquery的介紹:

PyQuery庫也是一個(gè)非常強(qiáng)大又靈活的網(wǎng)頁解析庫,如果你有前端開發(fā)經(jīng)驗(yàn)的,都應(yīng)該接觸過jQuery,那么PyQuery就是你非常絕佳的選擇,PyQuery 是 Python 仿照 jQuery 的嚴(yán)格實(shí)現(xiàn)。語法與 jQuery 幾乎完全相同,所以不用再去費(fèi)心去記一些奇怪的方法。

pyquery的官網(wǎng):

http://pyquery.readthedocs.io

pyquery的常用操作:

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

傳入字符串初始化:

            
              from pyquery import PyQuery 
 
html = '''
              
              '''
 
doc = PyQuery(html)#html變量是一個(gè)字符串類型,作為參數(shù)用來初始化
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選擇器進(jìn)行查找

規(guī)則:

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

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

(3)DOM操作(或者叫節(jié)點(diǎn)操作)

屬性的增刪操作:

            
              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:

當(dāng)然,除了操作class這個(gè)屬性外,也可以用attr()方法對(duì)屬性進(jìn)行操作。此外,還可以用text()和html()方法來改變節(jié)點(diǎn)內(nèi)容的內(nèi)容,使用css()方法對(duì)css屬性進(jìn)行操作

            
              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'))
              
            
          

為了方便理解,這是運(yùn)行截圖:

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

?

remove:

刪除某個(gè)標(biāo)簽,在爬取過程中我們通常爬去一下標(biāo)簽或者內(nèi)容下來的時(shí)候總會(huì)有些不想要的標(biāo)簽,這個(gè)時(shí)候我們可以用下面的類似方法刪除這個(gè)標(biāo)簽

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

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

?

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

?

?

?

?

?

?

?

?

?

?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 黄山市| 满洲里市| 丹棱县| 工布江达县| 平和县| 西宁市| 和田市| 左权县| 栖霞市| 佛坪县| 靖边县| 黑龙江省| 桐城市| 苏尼特左旗| 织金县| 敦化市| 交城县| 贡觉县| 安溪县| 固始县| 荥阳市| 新余市| 重庆市| 丰镇市| 文安县| 舟山市| 高唐县| 平湖市| 黄石市| 阿坝县| 梁河县| 搜索| 荃湾区| 辛集市| 保山市| 双桥区| 大宁县| 宿迁市| 台南县| 开阳县| 怀宁县|