parsel-css選擇器用法


css選擇器用法

導入庫

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屬性為https://www.lagou.com/jobs/3537439.html的a元素

selector.css('a[href=”https://www.lagou.com/jobs/3537439.html”]')

選取所有href屬性值中包含www.lagou.com的a元素

a[href*=”www.lagou.com”]

選取所有href屬性值中以http開頭的a元素

a[href^=”http”] 

選取所有id為非content-container 的div

div:not(#content-container) 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM