爬虫学习——Scrapy

Scrapy是一个目前还比较流行的开源爬虫框架。

专门用于提供爬虫学习的网站如:http://books.toscrape.comhttps://www.zhihu.com/hot、https://movie.douban.com/top250等。
在使用parse来对网页内容进行爬时,使用的是CSS选择器或XPath来提取页面中的数据内容。以以下图片中的内容为例。

XPath的使用用法:提取信息的命名=爬虫名称.XPath("输入复制的XPath").提取第几个内容

CSS选择器的使用方法:提取信息的命名=爬虫名称.css("ul.pager li.next a::attr(herf)").提取第几个内容

对获取的下一个网页的URL,使用yield和request的组合方式将请求都由yield语句交给Scrapy引擎,例子:yield scrapy.Request(next_url,cllback=self.parse)
知识扩展:

yield与return的区别:都是返回一个值,return返回一个值后,yield返回的是一个对象。代码段执行结束;yield在返回值以后会交出CPU的使用权,代码段并没有直接结束,而是在此处中断,当调用send()或next()方法后,yield可以从之前中断的地方继续执行后续新增的代码段。
爬虫注意事项:

①爬虫的时候在爬取网页的URL的时候记得对URL进行去重,这很关键;在进行网页搜索中的搜索策略可以选择深度搜索或者广度搜索两种策略;以及还要考虑爬虫的边界限定的问题。

②Scrapy的安装很简单:直接就是pip install scrapy,然后查看下载的版本:scrapy.version_info

③爬虫的起始点可以设定多个,但是需要预先对每个不同的爬虫进行不同的命名,是的爬虫的效率增加

④爬虫的流程:创建并命名爬虫名称-》对爬取的网页的URL进行设定-》parse方法的使用来提取页面总的内容

相关推荐
️学习的小王17 分钟前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
前端 贾公子23 分钟前
第09章:上下文与记忆 (6)
开发语言·前端·python
evans在进步25 分钟前
Java 常用设计模式入门:建造者、工厂、单例、外观与代理
java·python·设计模式
jayson.h1 小时前
PDF 合并+添加页码 相关库、类、函数
开发语言·前端·python
典典分享指南1 小时前
用飞书多维表格搭建内容管理看板
java·python·r语言·composer·symfony
Data_Journal1 小时前
Scrapyd:分步教程
开发语言·python·microsoft·golang·编辑器·html·iphone
今天AI了吗2 小时前
大模型技术全景(一):AI、机器学习、深度学习,三者的关系到底是什么?一文搞懂
数据库·人工智能·python·sql·深度学习·机器学习·rust
仙女修炼史2 小时前
gradcam在yolo中的应用
人工智能·python·yolo
李可以量化2 小时前
Redis Client 从了解到精通(六):redis-py 服务控制与状态监控辅助函数详解
python
李可以量化3 小时前
Redis Client 从了解到精通(六)下:redis-py 时间、库管理与持久化辅助函数详解
python