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选择器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中with及contextlib的用法详解

    Python中with及contextlib的用法详解

    这篇文章主要介绍了Python中with及contextlib的用法,结合实例形式较为详细的分析了with及contextlib的功能、使用方法与相关注意事项,需要的朋友可以参考下
    2017-06-06
  • 利用python获取Ping结果示例代码

    利用python获取Ping结果示例代码

    这篇文章主要给大家介绍了关于利用python获取Ping结果的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-07-07
  • Python基于yield遍历多个可迭代对象

    Python基于yield遍历多个可迭代对象

    这篇文章主要介绍了Python基于yield遍历多个可迭代对象,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 人脸识别实战之Opencv+SVM实现人脸识别

    人脸识别实战之Opencv+SVM实现人脸识别

    这篇文章主要介绍了通过Opencv+SVM实现人脸识别功能,文中的示例代码介绍详细,对于我们学习人脸识别和OpenCV都有一定的帮助,感兴趣的小伙伴可以学习一下
    2021-12-12
  • Pycharm 操作Django Model的简单运用方法

    Pycharm 操作Django Model的简单运用方法

    今天小编就为大家分享一篇Pycharm 操作Django Model的简单运用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • PyGame贪吃蛇的实现代码示例

    PyGame贪吃蛇的实现代码示例

    贪吃蛇是款经典游戏,本文将带你一步步用python语言实现一个贪吃蛇小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python实现视频去抖动功能

    Python实现视频去抖动功能

    视频去抖动是视频处理中的一项重要技术,它可以有效地减少视频中由于相机震动或手持拍摄等原因而导致的画面抖动,提高视频的质量,本文将介绍如何利用 Python 中的 OpenCV 库实现视频去抖动的方法,并提供代码实例,感兴趣的朋友可以参考下
    2024-04-04
  • Pytorch中求模型准确率的两种方法小结

    Pytorch中求模型准确率的两种方法小结

    这篇文章主要介绍了Pytorch中求模型准确率的两种方法小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • python通配符之glob模块的使用详解

    python通配符之glob模块的使用详解

    这篇文章主要介绍了python通配符之glob模块的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Python利用imshow制作自定义渐变填充柱状图(colorbar)

    Python利用imshow制作自定义渐变填充柱状图(colorbar)

    这篇文章主要介绍了Python利用imshow制作自定义渐变填充柱状图(colorbar),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论