python爬虫 parsel-css选择器用法

本文介绍Python爬虫库ParSel的选择器语法,包括基本的元素选择、属性提取及高级选择器用法,帮助读者掌握高效的数据抓取技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值