python爬蟲parsel-css選擇器的具體用法
parsel 比 lxml 功能強(qiáng)大,它內(nèi)部不光集成有xpath語法,也集成了css和re語法,相比而言,css與re通用性更強(qiáng),它倆的性能完全不輸xpath,特別是re,速度更快,難度也高!
引入
import parsel import requests
語法使用
url = 'http://www.baidu.com' response = requests.get(url) selector = parsel.Selector(response.text)
選擇所有元素
selector.css('*')
1、選擇article元素
html = selector.css('article') # get(), getall() , extract_first(), extract() 都可以
2、選擇id為container的元素
selector.css('#container')
3、選擇所有class包含container的元素
selector.css('.container')
4、選取所有div下所有a元素
selector.css('div a')
5、提取標(biāo)簽title列表
title1 = selector.css('title').extract() title2 = selector.css('title').extract_first()
6、提取標(biāo)簽p里的文本內(nèi)容
text = selector.css('p::text').extract()
7、提取標(biāo)簽div里的所有文本內(nèi)容
data = selector.css('div.post-content *::text').extract()
8、提取標(biāo)簽里的URL:標(biāo)簽名::attr(屬性名)
url = selector.css('div.post-content img::attr(src)').extract()
9、選取所有擁有title屬性的a元素
a = selector.css('a[title]').getall()
拓展語法
選取ul后面的第一個(gè)p元素
selector.css('ul + p')
選取與ul相鄰的所有p元素
selector.css('ul ~ p')
選取下面第二個(gè)標(biāo)簽,如果是a的話則選取,不是則不取
selector.css('a:nth-child(2)')
選取第偶數(shù)個(gè)a元素
selector.css('a:nth-child(2n)')
選取第奇數(shù)個(gè)a元素
selector.css('a:nth-child(2n+1)')
選取class為multi-chosen的li的所有a元素
selector.css('li.multi-chosen > a')
選取所有href屬性為www.baidu.com的a元素
selector.css('a[href=”www.baidu.com”]')
選取所有href屬性值中包含www.baidu.com的a元素
a[href*=”www.baidu.com”]
選取所有href屬性值中以http開頭的a元素
a[href^=”http”]
選取所有id為非content-container 的div
div:not(#content-container)
到此這篇關(guān)于python爬蟲parsel-css選擇器的具體用法的文章就介紹到這了,更多相關(guān)python parsel-css選擇器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python基于yield遍歷多個(gè)可迭代對(duì)象
這篇文章主要介紹了Python基于yield遍歷多個(gè)可迭代對(duì)象,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03人臉識(shí)別實(shí)戰(zhàn)之Opencv+SVM實(shí)現(xiàn)人臉識(shí)別
這篇文章主要介紹了通過Opencv+SVM實(shí)現(xiàn)人臉識(shí)別功能,文中的示例代碼介紹詳細(xì),對(duì)于我們學(xué)習(xí)人臉識(shí)別和OpenCV都有一定的幫助,感興趣的小伙伴可以學(xué)習(xí)一下2021-12-12Pycharm 操作Django Model的簡(jiǎn)單運(yùn)用方法
今天小編就為大家分享一篇Pycharm 操作Django Model的簡(jiǎn)單運(yùn)用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05Python實(shí)現(xiàn)視頻去抖動(dòng)功能
視頻去抖動(dòng)是視頻處理中的一項(xiàng)重要技術(shù),它可以有效地減少視頻中由于相機(jī)震動(dòng)或手持拍攝等原因而導(dǎo)致的畫面抖動(dòng),提高視頻的質(zhì)量,本文將介紹如何利用 Python 中的 OpenCV 庫實(shí)現(xiàn)視頻去抖動(dòng)的方法,并提供代碼實(shí)例,感興趣的朋友可以參考下2024-04-04Pytorch中求模型準(zhǔn)確率的兩種方法小結(jié)
這篇文章主要介紹了Pytorch中求模型準(zhǔn)確率的兩種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05Python利用imshow制作自定義漸變填充柱狀圖(colorbar)
這篇文章主要介紹了Python利用imshow制作自定義漸變填充柱狀圖(colorbar),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12