日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python爬蟲學習筆記之pyquery模塊基本用法詳解

瀏覽:18日期:2022-07-30 15:45:35

本文實例講述了python爬蟲學習筆記之pyquery模塊基本用法。分享給大家供大家參考,具體如下:

相關內容: pyquery的介紹 pyquery的使用 安裝模塊 導入模塊 解析對象初始化 css選擇器 在選定元素之后的元素再選取 元素的文本、屬性等內容的獲取 pyquery執行DOM操作、css操作 Dom操作 CSS操作 一個利用pyquery爬取豆瓣新書的例子

首發時間:2018-03-09 21:26

pyquery的介紹 pyquery允許對xml、html文檔進行jQuery查詢。 pyquery使用lxml進行快速xml和html操作。 pyquery是python中的jqueryPyQuery的使用:1.安裝模塊:

pip3 install pyquery2.導入模塊:

from pyquery import PyQuery as pq3.解析對象初始化:

【使用PyQuery初始化解析對象,PyQuery是一個類,直接將要解析的對象作為參數傳入即可】

解析對象為字符串時字符串初始化 :默認情況下是字符串,如果字符串是一個帶httphttps前綴的,將會認為是一個url

textParse = pq(html) 解析對象為網頁時url初始化: 建議使用關鍵字參數url=

# urlParse = pq(’http://www.baidu.com’) #1urlParse = pq(url=’http://www.baidu.com’) #2 解析對象為文件時文件初始化:建議使用關鍵字參數filename=

fileParse = pq(filename='L:demo.html') 解析完畢后,就可以使用相關函數或變量來進行篩選,可以使用css等來篩選,4.CSS選擇器: 利用標簽獲取:

result = textParse(’h2’).text() 利用類選擇器:

result3=textParse('.p1').text() 利用id選擇:

result4=textParse('#user').attr('type') 分組選擇:

result5=textParse('p,div').text() 后代選擇器:

result6=textParse('div a').attr.href 屬性選擇器:

result7=textParse('[class=’p1’]').text() CSS3偽類選擇器:

result8=textParse('p:last').text()

(更多的,可以參考css)

5.在選定元素之后的元素再選取: find():找出指定子元素 ,find可以有參數,該參數可以是任何 jQuery 選擇器的語法, filter():對結果進行過濾,找出指定元素 ,filter可以有參數,該參數可以是任何 jQuery 選擇器的語法, children():獲取所有子元素,可以有參數,該參數可以是任何 jQuery 選擇器的語法, parent():獲取父元素,可以有參數,該參數可以是任何 jQuery 選擇器的語法, parents():獲取祖先元素,可以有參數,該參數可以是任何 jQuery 選擇器的語法, siblings():獲取兄弟元素,可以有參數,該參數可以是任何 jQuery 選擇器的語法,

from pyquery import PyQuery as pqhtml='''<html><head></head><body><h2>This is a heading</h2><p class='p1'>This is a paragraph.</p><p class='p2'>This is another paragraph.</p><div> 123<a rel='external nofollow' rel='external nofollow' rel='external nofollow' >hello</a></div><input type='Button' ><input type='text' ></body>'''###初始化textParse = pq(html)# urlParse = pq(’http://www.baidu.com’) #1# urlParse = pq(url=’http://www.baidu.com’) #2# fileParse = pq(filename='L:demo.html')##獲取result = textParse(’h2’).text()print(result)result2= textParse(’div’).html()print(result2)result3=textParse('.p1').text()print(result3)result4=textParse('#user').attr('type')print(result4)result5=textParse('p,div').text()print(result5)result6=textParse('div a').attr.hrefprint(result6)result7=textParse('[class=’p1’]').text()print(result7)result8=textParse('p:last').text()print(result8)result9=textParse('div').find('a').text()print(result9)result12=textParse('p').filter('.p1').text()print(result12)result10=textParse('div').children()print(result10)result11=textParse('a').parent()print(result11)6.元素的文本、屬性等內容的獲取:

attr(attribute):獲取屬性

result2=textParse('a').attr('href')

attr.xxxx:獲取屬性xxxx

result21=textParse('a').attr.hrefresult22=textParse('a').attr.class_

text():獲取文本,子元素中也僅僅返回文本

result1=textParse('a').text()

html():獲取html,功能與text類似,但返回html標簽python爬蟲學習筆記之pyquery模塊基本用法詳解

result3=textParse('div').html()

補充1:

元素的迭代:如果返回的結果是多個元素,如果想迭代出每個元素,可以使用items():

python爬蟲學習筆記之pyquery模塊基本用法詳解

補充2:pyquery是jquery的python化,語法基本都是相通的,想了解更多,可以參考jquery。

pyquery執行DOM操作、css操作:DOM操作:

add_class():增加class

remove_class():移除class

remove():刪除指定元素

from pyquery import PyQuery as pqhtml='''<html><head></head><body><h2>This is a heading</h2><p class='p1'>This is a paragraph.</p><p class='p2'>This is another paragraph.</p><div style='color:blue'> 123<a rel='external nofollow' rel='external nofollow' rel='external nofollow' >hello</a></div><input type='Button' ><input type='text' ></body>'''textParse=pq(html)textParse(’a’).add_class('c1')print(textParse(’a’).attr('class'))textParse(’a’).remove_class('c1')print(textParse(’a’).attr('class'))print(textParse(’div’).html())textParse(’div’).remove('a')print(textParse(’div’).html())css操作: attr():設置屬性 設置格式:attr('屬性名','屬性值') css():設置css 設置格式1:css('css樣式','樣式值') 格式2:css({'樣式1':'樣式值','樣式2':'樣式值'})

from pyquery import PyQuery as pqhtml='''<html><head></head><body><h2>This is a heading</h2><p class='p1'>This is a paragraph.</p><p class='p2'>This is another paragraph.</p><div style='color:blue'> 123<a rel='external nofollow' rel='external nofollow' rel='external nofollow' >hello</a></div><input type='Button' ><input type='text' ></body>'''textParse=pq(html)textParse(’a’).attr('name','hehe')print(textParse(’a’).attr('name'))textParse(’a’).css('color','white')textParse(’a’).css({'background-color':'black','postion':'fixed'})print(textParse(’a’).attr('style'))

這些操作什么時候會被用到:

【有時候可能會將數據樣式處理一下再存儲下來,就需要用到,比如我獲取下來的數據樣式我不滿意,可以自定義成我自己的格式】

【有時候需要逐層清理再篩選出指定結果,比如<div>123<a></a></div>中,如果僅僅想要獲取123就可以先刪除<a>再獲取】

一個利用pyquery爬取豆瓣新書的例子:

先使用審查元素,定位目標元素python爬蟲學習筆記之pyquery模塊基本用法詳解

確認爬取信息python爬蟲學習筆記之pyquery模塊基本用法詳解

要注意的是,豆瓣新書是有一些分在后面頁的,實際上目標應該是li的上一級ul:python爬蟲學習筆記之pyquery模塊基本用法詳解

使用PyQuery篩選出結果:

from pyquery import PyQuery as pqurlParse=pq(url='https://book.douban.com/')info=urlParse('div.carousel ul li div.info')file=open('demo.txt','w',encoding='utf8')for i in info.items(): title=i.find('div.title') author=i.find('span.author') abstract=i.find('.abstract') file.write('標題:'+title.text()+'n') file.write('作者:'+author.text()+'n') file.write('概要:'+abstract.text()+'n') file.write('-----------------n') print('n')file.close()

更多關于Python相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python正則表達式用法總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
香蕉国产精品| 麻豆视频一区二区| 欧美+日本+国产+在线a∨观看| 麻豆传媒一区二区三区| 午夜av一区| 亚洲国产不卡| 欧美极品中文字幕| 亚洲午夜久久| 日本成人在线不卡视频| 国产精品久久久一区二区| 国产精品99在线观看| 午夜日韩福利| 久久99国产精品视频| 日韩在线观看一区二区三区| 欧美日韩视频| 免费观看在线色综合| 亚洲精品日韩久久| 久久国产精品色av免费看| 麻豆国产精品一区二区三区| jizzjizz中国精品麻豆| 欧美 日韩 国产精品免费观看| 国产亚洲一区二区手机在线观看 | 国产麻豆综合| 亚洲精品在线二区| 国产精品久久久久9999高清| 四虎成人av| 精品91久久久久| 亚洲人亚洲人色久| 欧美黄页在线免费观看| 裤袜国产欧美精品一区| 秋霞国产精品| 美女被久久久| 久久久国产精品网站| 欧美日中文字幕| 亚洲欧美专区| 美女国产精品久久久| 色爱综合av| 视频一区日韩| 日韩伦理在线一区| 亚洲狼人精品一区二区三区| 国产日韩欧美在线播放不卡| 国产高清不卡| 免费人成网站在线观看欧美高清| 欧美日韩亚洲三区| 在线人成日本视频| 视频一区在线播放| 久久精品伊人| 先锋亚洲精品| 精品国产乱码| 亚洲少妇自拍| 欧美a一区二区| 亚洲黄色影院| 国产精品99久久久久久董美香| 免费在线小视频| 亚洲精品福利| 色天使综合视频| 日本午夜精品视频在线观看| 蜜桃视频在线网站| 日韩精品视频一区二区三区| 欧美男人天堂| 日韩中文av| 在线成人动漫av| 欧美国产三级| 视频一区二区不卡| 成人av三级| 国产九一精品| 国产亚洲精品久久久久婷婷瑜伽| 久久精品国产久精国产爱| 日韩亚洲精品在线| 精品久久中文| 亚洲精品影院在线观看| 深夜视频一区二区| 日本成人精品| 亚洲精品网址| 成人在线免费观看网站| 水蜜桃久久夜色精品一区的特点| 国产一区二区三区四区五区传媒| 亚洲天堂日韩在线| 日韩不卡免费高清视频| 欧美日韩亚洲一区在线观看| 午夜精品亚洲| 97视频热人人精品免费| 日本va欧美va欧美va精品| 午夜精品网站| 日韩电影在线视频| 国产精品亚洲欧美一级在线| 日韩影院精彩在线| 精品网站aaa| 青青草国产精品亚洲专区无| 亚洲免费影视| 伊人久久高清| 精品国产美女a久久9999| 日韩在线观看中文字幕| 国产婷婷精品| 999久久久国产精品| 精品一区二区三区免费看| 青草av.久久免费一区| 久久成人精品| 深夜视频一区二区| 高清一区二区三区| 99热免费精品| 国产精品久久久久久久久久齐齐| 久久国产人妖系列| 亚洲天堂日韩在线| 国产精品专区免费| 色8久久久久| 麻豆91精品| 999国产精品视频| 韩国久久久久久| 久久99精品久久久野外观看| 日韩欧美在线精品| 蜜臀av一区二区三区| 99久精品视频在线观看视频| 国产一区二区色噜噜| 国产精品欧美日韩一区| 日韩精品免费观看视频| 视频精品一区二区| 久久成人精品| 一区二区电影在线观看| 亚洲一区久久| 美女福利一区二区三区| sm捆绑调教国产免费网站在线观看| 美女久久精品| 你懂的国产精品永久在线| 88久久精品| 日本欧美在线| 91精品国产自产精品男人的天堂| 视频一区日韩精品| 亚洲精品影视| 日韩国产在线一| 亚洲三级国产| 日本午夜精品久久久久| 日本精品久久| 97久久亚洲| 国产精品视频一区二区三区| 亚洲日韩视频| 日本在线视频一区二区| 欧美日韩18| 国产高清日韩| 国产一区二区三区久久| 成人国产精品久久| 日韩中文视频| 日韩视频在线一区二区三区 | 亚洲一级高清| 午夜久久影院| 喷白浆一区二区| 日韩有吗在线观看| 国产伦乱精品| 老色鬼精品视频在线观看播放| 老司机精品视频网| 日韩理论视频| 99pao成人国产永久免费视频| 国产亚洲综合精品| 欧美一区激情| 日韩成人精品一区| 成人午夜亚洲| 久久精品国产大片免费观看| 亚洲激情另类| 日韩毛片网站| 精品欠久久久中文字幕加勒比| 亲子伦视频一区二区三区| 狠狠爱www人成狠狠爱综合网| 亚洲三级网站| 美女久久久久久 | 另类专区亚洲| 国产精品老牛| 国产精品巨作av| 日韩在线高清| 91精品观看| 日韩在线麻豆| 精品久久久网| 黄页网站一区| 国产精品一区二区三区av| 欧美aa一级| 亚洲精品观看| 三上亚洲一区二区| 伊人www22综合色| 久久超级碰碰| 亚洲激精日韩激精欧美精品| 国产欧美欧美| 999国产精品| 日本a口亚洲| 色爱av综合网| 妖精视频成人观看www| 欧美日韩一区自拍| 在线天堂中文资源最新版| 99国产精品一区二区| 蜜桃视频一区二区三区 | 神马午夜在线视频| 亚洲美女91| 国产精品久久久久久久久久10秀| 亚洲欧洲日本mm| 国产精品扒开腿做爽爽爽软件| 久久久久.com| 日韩福利视频导航| 99久久婷婷这里只有精品| 亚洲网址在线观看| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 88久久精品| 国产一区二区三区自拍|