当前位置: 首页 > web >正文

爬虫学习——Scrapy

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方法的使用来提取页面总的内容

http://www.xdnf.cn/news/145.html

相关文章:

  • LangChain4j-第一篇 |几分钟完成deepseek 在线集成
  • 三大等待和三大切换
  • Leetcode 2158. 每天绘制新区域的数量【Plus题】
  • MySQL:Join连接的原理
  • 54常用控件_QLCDNumber的属性
  • 支持mingw g++14.2 的c++23 功能print的vscode tasks.json生成调试
  • 细节:如何制作高质量的VR全景图
  • 《软件设计师》复习笔记(11.6)——系统转换、系统维护、系统评价
  • 【dataframe显示不全问题】打开一个行列超多的excel转成df之后行列显示不全
  • 25MathorCup选题浅析(睡醒扫一眼题目版)
  • Spark on K8s 在 vivo 大数据平台的混部实战与优化
  • 从零开始学A2A一:A2A 协议的高级应用与优化
  • 优化WAV音频文件
  • Flink 2.0 编译
  • 微信小程序怎么分包步骤(包括怎么主包跳转到分包)
  • Java集合框架深度解析:HashMap、HashSet、TreeMap、TreeSet与哈希表原理详解
  • C++ `unique_ptr` 多线程使用
  • 【React】通过 fetch 发起请求,设置 proxy 处理跨域
  • ESP32 搭建IDF+Vscode环境(详细教程)
  • 轻量化高精度的视频语义分割
  • 网络安全-Burp Suite基础篇
  • Android 音频架构全解析:从 AudioTrack 到 AudioFlinger
  • 【TeamFlow】 1 TeamFlow 去中心化生产协同系统架构
  • python抓取HTML页面数据+可视化数据分析(投资者数量趋势)
  • NFC 碰一碰发视频源码搭建,碰一碰发视频定制化开发技术
  • JavaScript性能优化实战指南
  • 云轴科技ZStack入选中国人工智能产业发展联盟《大模型应用交付供应商名录》
  • UE5 渲染视频
  • 龙虎榜——20250418
  • 微信小程序中,将搜索组件获取的值传递给父页面(如 index 页面)可以通过 自定义事件 或 页面引用 实现