Scrapy是一个目前还比较流行的开源爬虫框架。
专门用于提供爬虫学习的网站如:http://books.toscrape.com、https://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方法的使用来提取页面总的内容
爬虫学习——Scrapy
爱吃泡芙的小白白2025-04-21 17:10
相关推荐
A__tao4 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)研究点啥好呢4 小时前
Github热门项目推荐 | 创建你的像素风格!迷藏4944 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障明日清晨5 小时前
python扫码登录dybazhange5 小时前
python如何像matlab一样使用向量化替代for循环人工干智能5 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`unicrom_深圳市由你创科技5 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?小敬爱吃饭5 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)宸津-代码粉碎机6 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势知行合一。。。6 小时前
Python--04--数据容器(集合)
