python爬蟲parsel-css選擇器的具體用法
parsel 比 lxml 功能強大,它內部不光集成有xpath語法,也集成了css和re語法,相比而言,css與re通用性更強,它倆的性能完全不輸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、提取標簽title列表
title1 = selector.css('title').extract()
title2 = selector.css('title').extract_first()6、提取標簽p里的文本內容
text = selector.css('p::text').extract()7、提取標簽div里的所有文本內容
data = selector.css('div.post-content *::text').extract()8、提取標簽里的URL:標簽名::attr(屬性名)
url = selector.css('div.post-content img::attr(src)').extract()9、選取所有擁有title屬性的a元素
a = selector.css('a[title]').getall()拓展語法
選取ul后面的第一個p元素
selector.css('ul + p')選取與ul相鄰的所有p元素
selector.css('ul ~ p')選取下面第二個標簽,如果是a的話則選取,不是則不取
selector.css('a:nth-child(2)')選取第偶數個a元素
selector.css('a:nth-child(2n)')選取第奇數個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)
到此這篇關于python爬蟲parsel-css選擇器的具體用法的文章就介紹到這了,更多相關python parsel-css選擇器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python利用imshow制作自定義漸變填充柱狀圖(colorbar)
這篇文章主要介紹了Python利用imshow制作自定義漸變填充柱狀圖(colorbar),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12

