python爬虫parsel-css选择器的具体用法

 更新时间:2023年06月28日 10:14:00   作者:就四个字,熟能生巧。  
本文主要介绍了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选择器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • TensorFlow加载模型时出错的解决方式

    TensorFlow加载模型时出错的解决方式

    今天小编就为大家分享一篇TensorFlow加载模型时出错的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python实现switch/case语句

    Python实现switch/case语句

    与Java、C\C++等语言不同,Python中是不提供switch/case语句的,这一点让我感觉到很奇怪。我们可以通过如下几种方法来实现switch/case语句
    2021-08-08
  • 基于python的图片修复程序(实现水印去除)

    基于python的图片修复程序(实现水印去除)

    这篇文章主要给大家介绍了关于python图片修复程序的相关资料,可以用于实现图片中水印去除,主要利用的是OpenCV这个框架实现的,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧
    2018-06-06
  • Python基于DFA算法实现内容敏感词过滤

    Python基于DFA算法实现内容敏感词过滤

    DFA 算法是通过提前构造出一个 树状查找结构,之后根据输入在该树状结构中就可以进行非常高效的查找。本文将利用改算法实现敏感词过滤,需要的可以参考一下
    2022-04-04
  • 用python制作个论文下载器(图形化界面)

    用python制作个论文下载器(图形化界面)

    这篇文章主要介绍了用python制作个论文下载器(图形化界面),帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • Python控制键盘鼠标pynput的详细用法

    Python控制键盘鼠标pynput的详细用法

    这篇文章主要介绍了Python控制键盘鼠标pynput的详细用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Python利用装饰器实现类似于flask路由

    Python利用装饰器实现类似于flask路由

    这篇文章主要为大家详细介绍了Python如何利用装饰器实现类似于flask路由,文中的示例代码讲解详细,对我们深入了解Python有一点的帮助,感兴趣的可以了解一下
    2023-02-02
  • Python中高效的json对比库deepdiff详解

    Python中高效的json对比库deepdiff详解

    deepdiff模块常用来校验两个对象是否一致,包含3个常用类,DeepDiff,DeepSearch和DeepHash,其中DeepDiff最常用,可以对字典,可迭代对象,字符串等进行对比,使用递归地查找所有差异,今天我们就学习一下快速实现代码和文件对比的库–deepdiff
    2022-07-07
  • Python结合Sprak实现计算曲线与X轴上方的面积

    Python结合Sprak实现计算曲线与X轴上方的面积

    这篇文章主要介绍了Python结合Sprak实现计算曲线与X轴上方的面积,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-02-02
  • 使用Python找出水仙花数的方法介绍

    使用Python找出水仙花数的方法介绍

    水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个3位数,本文就给大家简单聊聊如何使用Python找出水仙花数,感兴趣的同学可以参考阅读
    2023-07-07

最新评论