iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >爬虫Scrapy框架之css选择器如何使用
  • 776
分享到

爬虫Scrapy框架之css选择器如何使用

2023-06-02 05:06:26 776人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关爬虫scrapy框架之CSS选择器如何使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css选择器介绍在css中选择器是一种模式,用于选择需要添加样式的元素,css对html

这篇文章将为大家详细讲解有关爬虫scrapy框架CSS选择器如何使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

css选择器介绍

  • 在css中选择器是一种模式,用于选择需要添加样式的元素,css对html页面中的元素实现一对一,一对多或者多对一的控制,都需要用到css选择器,html页面中的元素就是通过css选择器进行控制的;

css选择器的基本语法

  • 类选择器:元素的class属性,比如class="box"表示选取class为box的元素;

  • ID选择器:元素的id属性,比如id="box"表示选取id为box的元素;

  • 元素选择器:直接选择文档元素,比如p表示选择所有的p元素,div表示选择所有的div元素;

  • 属性选择器:选择具有某个属性的元素,如*[title]表示选择所有包含title属性的元素、a[href]表示选择所有带有href属性的a元素等;

  • 后代选择器:选择包含元素后代的元素,如li a表示选取所有li 下所有a元素;

  • 子元素选择器:选择作为某元素子元素的元素,如h2 > strong表示选择父元素为h2 的所有 strong 元素;

  • 相邻兄弟选择器:选择紧接在另一元素后的元素,且二者有相同父元素,如h2 + p表示选择紧接在 h2 元素之后的所有p元素;

scrapy 中的css使用方法

以a元素来举例说明

  • response.css('a'):返回的是selector对象;

  • response.css('a').extract():返回的是a标签对象;

  • response.css('a::text').extract_first():返回的是第一个a标签中文本的值;

  • response.css('a::attr(href)').extract_first():返回的是第一个a标签中href属性的值;

  • response.css('a[href*=image]::attr(href)').extract():返回所有a标签中href属性包含image的值;

  • response.css('a[href*=image] img::attr(src)').extract():返回所有a标签下image标签的src属性;

表达式书写方式表达式意义
#box选取id为box的元素
.box选取class为box的元素
p选择所有 p 元素
div img选取div下的img元素
div,img选择所有 div 元素和所有 img 元素
div#box选取 id为box的div元素
div>p选择父元素为 div 元素的所有 p 元素
[title~=flower]选择 title 属性包含单词 “flower” 的所有元素
a[href=”/page/2”]选取href属性为/page/2的a元素
a[href^=”/page”]选取href属性以/page开头的a元素
a[href$=”.png”]选取href属性以png结尾的a元素
  • 上一节中我们使用XPATH选择器获取了csdn中今日推荐的标题,现在我们用CSS选择器来试着获取一下

# -*- coding: utf-8 -*-import scrapyclass CsdnSpider(scrapy.Spider):    name = 'csdn'    allowed_domains = ['www.csdn.net']    start_urls = ['Http://www.csdn.net/']    def parse(self, response):       result = response.css('.company_list .company_name a::text').extract()       for i in result:           print(i)
  • 我们来看一下代码的运行结果,看是否能获取到我们想要的信息;

爬虫Scrapy框架之css选择器如何使用

获取元素的跳转链接和图片地址

  • 首先可以使用css选择器提取元素的跳转链接和图片的src地址,这里需要用到urllib库中的parse.urljoin()方法,用它来拼接获取到的元素中的路径,使之变为绝对路径;
    urljoin(baes,url[,allow_frafments]),其中参数base作为基地址,与第二个参数为相对路径的url相结合,组成一个绝对URl地址,其中参数allow_fragments可根据自己的需求设置;

import scrapyfrom urllib import parseclass DribbbleSpider(scrapy.Spider):    name = 'dribbble'    allowed_domains = ['dribbble.com']    start_urls = ['http://dribbble.com/']    def parse(self, response):        a_href = response.css('.dribbble-shot .dribbble-over::attr(href)').extract_first("")        href = parse.urljoin(response.url, a_href)        print(a_href)        print(href)
import scrapyfrom urllib import parseclass DribbbleSpider(scrapy.Spider):    name = 'dribbble'    allowed_domains = ['dribbble.com']    start_urls = ['http://dribbble.com/']    def parse(self, response):        image_src = response.css('img.enrique-image::attr(src)').extract_first("")        src = parse.urljoin(response.url, image_src)        print(image_src)        print(src)
  • 下载且保存图片到本地

import scrapyfrom urllib import parseimport requestsclass DribbbleSpider(scrapy.Spider):    name = 'dribbble'    allowed_domains = ['dribbble.com']    start_urls = ['http://dribbble.com/']    def parse(self, response):        image_src = response.css('img.enrique-image::attr(src)').extract_first("")        src = parse.urljoin(response.url, image_src)        ret = requests.get(src, stream=True)        with open('./1.png', 'wb') as f:            for block in ret.iter_content(chunk_size=1024):                f.write(block)

如何快速获取页面中的元素

  • 获取xpath选择器的元素:选择标签->鼠标右键->copy->Copy XPath;

爬虫Scrapy框架之css选择器如何使用

  • 获取css选择器的元素:可以使用第三方插件Chrome的开发者调试工具获取,需要下载CSS Select插件->然后直接选择标签元素;

爬虫Scrapy框架之css选择器如何使用

关于“爬虫Scrapy框架之css选择器如何使用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 爬虫Scrapy框架之css选择器如何使用

本文链接: https://www.lsjlt.com/news/229050.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 爬虫Scrapy框架之css选择器如何使用
    这篇文章将为大家详细讲解有关爬虫Scrapy框架之css选择器如何使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css选择器介绍在css中选择器是一种模式,用于选择需要添加样式的元素,css对html...
    99+
    2023-06-02
  • 如何使用Scrapy网络爬虫框架
    这篇文章将为大家详细讲解有关如何使用Scrapy网络爬虫框架,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。scrapy 介绍标准介绍Scrapy是一个为了爬取网站数据,提...
    99+
    2024-04-02
  • scrapy爬虫框架怎么使用
    这篇“scrapy爬虫框架怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“scrapy爬虫框架怎么使用”文章吧。一、s...
    99+
    2023-06-27
  • python爬虫入门之Scrapy框架怎么用
    这篇文章将为大家详细讲解有关python爬虫入门之Scrapy框架怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,P...
    99+
    2023-06-14
  • 如何入门Python Scrapy爬虫框架
    如何入门Python Scrapy爬虫框架,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Scrapy概述Scrapy是Python开发的一个非常流行的网络爬虫框架,可以用来...
    99+
    2023-06-02
  • 怎么使用Python的Scrapy爬虫框架
    本篇内容介绍了“怎么使用Python的Scrapy爬虫框架”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Scrapy是Python开发的一个...
    99+
    2023-06-02
  • Python爬虫框架scrapy的使用示例
    这篇文章主要介绍了Python爬虫框架scrapy的使用示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python可以做什么Python是一种编程语言,内置了许多有效的工...
    99+
    2023-06-14
  • python爬虫框架Scrapy怎么安装使用
    这篇文章主要介绍了python爬虫框架Scrapy怎么安装使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python爬虫框架Scrapy怎么安装使用文章都会有所收获,下面我...
    99+
    2024-04-02
  • Python爬虫教程使用Scrapy框架爬取小说代码示例
    目录Scrapy框架简单介绍创建Scrapy项目创建Spider爬虫Spider爬虫提取数据items.py代码定义字段fiction.py代码提取数据pipelines.py代码保...
    99+
    2024-04-02
  • Python爬虫Scrapy框架IP代理如何配置与调试
    这篇文章主要介绍Python爬虫Scrapy框架IP代理如何配置与调试,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代理ip的逻辑在哪里一个scrapy 的项目结构是这样的scrapydownloadertest&n...
    99+
    2023-06-22
  • 如何使用PHP蜘蛛爬虫框架来爬取数据
    这篇文章主要介绍了如何使用PHP蜘蛛爬虫框架来爬取数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用PHP蜘蛛爬虫框架来爬取数据文章都会有所收获,下面我们一起来看看吧。...
    99+
    2024-04-02
  • python中如何使用Scrapy实现定时爬虫
    这篇文章将为大家详细讲解有关python中如何使用Scrapy实现定时爬虫,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型...
    99+
    2023-06-14
  • 如何使用Scrapy-Redis实现分布式爬虫
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-15
  • css之伪元素选择器如何使用
    这篇文章主要介绍“css之伪元素选择器如何使用”,在日常操作中,相信很多人在css之伪元素选择器如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css之伪元素选择器如何...
    99+
    2024-04-02
  • jquery的选择器的使用技巧之如何选择input框
    下面的方法是选择name是redthree的 并且选中了的input 里面的 title属性的内容 <input name="redTrdd" title='xiaoming'...
    99+
    2022-11-15
    jquery选择器 选择input框
  • 如何使用css框架
    如何使用css框架,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 css框架使用步骤:1、设置me...
    99+
    2024-04-02
  • css如何使用类选择器
    这篇文章主要为大家展示了“css如何使用类选择器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css如何使用类选择器”这篇文章吧。类选择器类选择器使用“.”(英...
    99+
    2024-04-02
  • css如何使用ID选择器
    这篇文章将为大家详细讲解有关css如何使用ID选择器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 ID选择器 id选择器使用"#"...
    99+
    2024-04-02
  • css如何使用OWL选择器
    这篇文章给大家分享的是有关css如何使用OWL选择器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用 “OWL选择器”使用通用选择器(universal selector)* 和相邻的兄弟选择器(adjacen...
    99+
    2023-06-27
  • CSS: hover选择器如何使用
    这篇文章主要介绍“CSS: hover选择器如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS: hover选择器如何使用”文章能帮助大家解决问题。定义和用法定义::hover 选择器用于...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作