位置: 编程技术 - 正文

Scrapy框架CrawlSpiders的介绍以及使用详解(Scrapy框架可以用于数据挖掘、监测和自动化测试)

编辑:rootadmin

推荐整理分享Scrapy框架CrawlSpiders的介绍以及使用详解(Scrapy框架可以用于数据挖掘、监测和自动化测试),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Scrapy框架可以用于数据挖掘监测和自动化测试,Scrapy框架可以用于数据挖掘、监测和自动化测试,scrapy框架组件,Scrapy框架中对所有的爬取请求进行调度管理的模块是,Scrapy框架中genspider命令作用是,scrapy框架组件,Scrapy框架步骤不包括,Scrapy框架可以用于数据挖掘、监测和自动化测试,内容如对您有帮助,希望把文章链接给更多的朋友!

在Scrapy基础——Spider中,我简要地说了一下Spider类。Spider基本上能做很多事情了,但是如果你想爬取知乎或者是简书全站的话,你可能需要一个更强大的武器。CrawlSpider基于Spider,但是可以说是为全站爬取而生。

CrawlSpiders是Spider的派生类,Spider类的设计原则是只爬取start_url列表中的网页,而CrawlSpider类定义了一些规则(rule)来提供跟进link的方便的机制,从爬取的网页中获取link并继续爬取的工作更适合。

一、我们先来分析一下CrawlSpiders源码

二、 CrawlSpider爬虫文件字段的介绍

1、 CrawlSpider继承于Spider类,除了继承过来的属性外(name、allow_domains),还提供了新的属性和方法:class scrapy.linkextractors.LinkExtractorLink Extractors 的目的很简单: 提取链接&#;每个LinkExtractor有唯一的公共方法是 extract_links(),它接收一个 Response 对象,并返回一个 scrapy.link.Link 对象。

Link Extractors要实例化一次,并且 extract_links 方法会根据不同的 response 调用多次提取链接&#;

主要参数:

① allow:满足括号中“正则表达式”的值会被提取,如果为空,则全部匹配。② deny:与这个正则表达式(或正则表达式列表)不匹配的URL一定不提取。③ allow_domains:会被提取的链接的domains。④ deny_domains:一定不会被提取链接的domains。⑤ restrict_xpaths:使用xpath表达式,和allow共同作用过滤链接。

2、 在rules中包含一个或多个Rule对象,每个Rule对爬取网站的动作定义了特定操作。如果多个rule匹配了相同的链接,则根据规则在本集合中被定义的顺序,第一个会被使用。

① link_extractor:是一个Link Extractor对象,用于定义需要提取的链接。

② callback: 从link_extractor中每获取到链接时,参数所指定的值作为回调函数,该回调函数接受一个response作为其第一个参数。

注意:当编写爬虫规则时,避免使用parse作为回调函数。由于CrawlSpider使用parse方法来实现其逻辑,如果覆盖了 parse方法,crawl spider将会运行失败。

③ follow:是一个布尔(boolean)值,指定了根据该规则从response提取的链接是否需要跟进。 如果callback为None,follow 默认设置为True ,否则默认为False。

④ process_links:指定该spider中哪个的函数将会被调用,从link_extractor中获取到链接列表时将会调用该函数。该方法主要用来过滤。

Scrapy框架CrawlSpiders的介绍以及使用详解(Scrapy框架可以用于数据挖掘、监测和自动化测试)

⑤ process_request:指定该spider中哪个的函数将会被调用, 该规则提取到每个request时都会调用该函数。 (用来过滤request)

3、Scrapy提供了log功能,可以通过 logging 模块使用。可以修改配置文件settings.py,任意位置添加下面两行,效果会清爽很多。

Scrapy提供5层logging级别:

① CRITICAL - 严重错误(critical)② ERROR - 一般错误(regular errors)③ WARNING - 警告信息(warning messages)④ INFO - 一般信息(informational messages)⑤ DEBUG - 调试信息(debugging messages)

通过在setting.py中进行以下设置可以被用来配置logging:

① LOG_ENABLED 默认: True,启用logging② LOG_ENCODING 默认: 'utf-8',logging使用的编码③ LOG_FILE 默认: None,在当前目录里创建logging输出文件的文件名④ LOG_LEVEL 默认: 'DEBUG',log的最低级别⑤ LOG_STDOUT 默认: False 如果为 True,进程所有的标准输出(及错误)将会被重定向到log中。例如,执行 print "hello" ,其将会在Scrapy log中显示。

三、 CrawlSpider爬虫案例分析

1、创建项目:scrapy startproject CrawlYouYuan

2、创建爬虫文件:scrapy genspider -t crawl youyuan youyuan.com

3、项目文件分析

items.py

youyuan.py

pipelines.py

settings.py

begin.py

在运行程序之前需要使Scrapy版本和Twisted版本相吻合,设置如下

这次分享详细介绍了使用Scrapy框架爬虫的具体步骤,并同时编写爬虫案例进行分析,很好的诠释了Scrapy框架爬取数据的方便性和易懂性,下篇文章我会分享下Scrapy分布式爬取网站,让我们一起学习,一起探讨爬虫技术。

标签: Scrapy框架可以用于数据挖掘、监测和自动化测试

本文链接地址:https://www.jiuchutong.com/biancheng/375469.html 转载请保留说明!

上一篇:pycharm下打开、执行并调试scrapy爬虫程序的方法(pycharm打开文件怎么运行)

下一篇:Python实现的计数排序算法示例(python怎么计数)

  • 纳税会计的要素有
  • 企业所得税年报补报
  • 个人所得税孩子小学升初中要修改吗?
  • 增值税无票收入可以抵扣
  • 资产负债表存货怎么填列
  • 贷款应计利息会计分录
  • 在建工程的计算公式
  • 公司账户转个人账户用途怎么写
  • 工薪个人所得税扣除
  • 金税盘全额抵扣分录
  • 物业公司代收暖气费如何开票
  • 茶具可以作为固定资产吗
  • 统计机构收到公开申请()内予以答复
  • 外贸企业增值税发票需要认证吗
  • 税票认证节假日可以顺延吗?
  • 盘库存在的问题汇总
  • 电脑开始菜单在右边怎么调回来
  • 存货监盘计划要求,在对存货盘点结果进行测试时
  • 公司付款给个人,怎么处理
  • win10专业版19042.630
  • 系统浏览器
  • 关闭win10系统更新有什么后果
  • 公司与个人的往来款怎么处理
  • 计提本月所得税费会计分录
  • 微信公众号 h5 保存openid
  • 购买股票的会计分录
  • linux系统中文输入法切换不出来
  • PHP:is_writeable()的用法_Filesystem函数
  • 以分期收款方式销售货物的按照什么日期确认收入的实现
  • 库存现金日记账的登记依据
  • 深度学习第一步——Pytorch-Gpu环境配置:Win11/Win10+Cuda10.2+cuDNN8.5.0+Pytorch1.8.0(步步巨细,少走十年弯路)
  • thinkphp批量导入数据
  • 给客户开的发票,在邮寄过程中丢了怎么办?
  • 其他发票是什么意思
  • 损益类科目增加记借方吗
  • 企业初期面临的主要问题
  • js let与var区别
  • 长期待摊费用科目性质
  • 有限公司分公司属于什么类型
  • sql server 2005 service pack3
  • 收到税控盘退费怎么做分录
  • 实际已缴纳所得税额怎么填
  • 6月工资7月发8月申报
  • 中级会计报名必须满4年吗
  • 进项税和销项税月末怎么结转
  • 多计提的工资怎么冲销
  • 住宿费开专票怎么做账
  • 免抵退税和留抵退税计算题
  • 流动资金周转次数计算公式
  • 公户转私户的钱怎么退回来
  • 新办企业在建期间账务处理
  • 加强备案管理
  • 工资扣税是减去五险一金吗
  • 买货品的咨询服务有哪些
  • 应交税金借方余额在报表列示
  • 企业年金管理费计入什么科目
  • 销售商品提供劳务收到的现金占比怎么算
  • 年末结转的会计核算过程
  • mysql8设置时区
  • sql语句实例大全
  • sql server 2000中的安全性包含
  • mac外接显示器不显示全部桌面
  • freebsd做服务器
  • ubuntu邮箱客户端
  • WIN+VMWARE6.5上面网络配置centOs(5.4版) ADSL接入的小结
  • dll进程
  • 系统运行缓慢解决方法
  • 优化linux系统的方法
  • fp3是什么文件格式
  • linux配置文件命令
  • Unity3d AssetDatabase.SetLabels StartAssetEditing ValidateMoveAsset 语法复习
  • opengl常用函数库
  • rgb与yuv哪个好
  • python设计gui
  • javascript常用的数据类型有哪些
  • webview自定义视频播放器
  • 粮食的增值税税率怎么算
  • 云南省税务局网址
  • 所属税务局怎么填写
  • ca如何办理退休手续办理流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设