- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
爬虫框架-scrapy框架深入
复习Itempipeline中数据处理函数有哪些?在爬取图片过程中的处理思路?
1、理解通用爬虫CrawlSpider的编写思路2、能编写middlewares的python类进行动态网页爬取3、了解常用的反爬虫设置教学目标
1Scrapy动态网页爬取爬虫框架-scrapy框架深入通用爬虫CrawlSpider23反爬虫设置
通用爬虫CrawlSpiderCrawlSpider基于Spider,但是可以说是为全站爬取而生。CrawlSpider是Scrapy提供的一个通用Spider。在Spider里,可以指定一些爬取规则来实现页面的提取,这些爬取规则由一个专门的数据结构Rule表示。Rule里包含提取和跟进页面的配置,Spider会根据Rule来确定当前页面中的哪些链接需要继续爬取、哪些页面的爬取结果需要用哪个方法解析等。CrawlSpider和BasicSpider模板文件有什么不同?CrawlSpider模板文件也是通过命令“scrapygenspider”生成,与生成basicspider模板文件的不同的是需要增加参数“-tcrawl”。使用名人名言quotes案例来进行讲述,生成一个新的CrawlSpider模板文件,爬虫名为quotes。参考代码如下。scrapygenspider-tcrawlquotes
通用爬虫CrawlSpider在spiders文件夹中找到quotes.py文件,浏览生成的模板文件。CrawlSpider类使用链接提取器和一组规则,其主要目的是提取链接。参考模板代码如下。链接提取器LinkExtractor和提取规则Rule
通用爬虫CrawlSpider1、链接提取器LinkExtractor链接提取器是从scrapy.http.Response对象中提取链接的对象。在Scrapy中,有内置提取器,如scrapy.linkextractorsimportLinkExtractor。链接提取器有多个,每个链接提取器都有一个名为extract_links的公共方法,其中包含一个Response对象并返回一个scrapy.link.Link对象列表。链接提取器只能实例化一次,并多次调用extract_links方法以提取具有不同响应的链接。
通用爬虫CrawlSpider1、链接提取器LinkExtractor默认情况下,链接提取器是LinkExtractor,其功能与LxmlLinkExtractor相同。是一个高度推荐的链接提取器,因为它具有方便的过滤选项,使用LXML库强大的HTMLParser的解析器。链接提取器的基本语法格式如下。classscrapy.linkextractors.lxmlhtml.LxmlLinkExtractor(allow=(),deny=(),#允许、拒绝url地址,使用正则表达式进行匹配allow_domains=(),deny_domains=(),deny_extensions=None,#允许或拒绝的域名restrict_xpaths=(),restrict_css=(),#使用xpath、CSS表达式提取指定区域链接tags=(a,area),attrs=(href,),#html标记或属性提取process_value=None)#回调函数
通用爬虫CrawlSpider2、提取规则RuleRule的作用是定义抽取链接的规则,多个规则组成rules。基本语法格式如下。rules={Rule(LinkExtractor链接提取器,callback,follow),}参数说明LinkExtractor提取器:设定提取规则,一般为正则表达式。Callback:回调函数Follow:是否跟进。当Callback为None时,默认follow为true。当Callback不为None时,follow为False。
通用爬虫CrawlSpider2、提取规则RuleRule的作用是定义抽取链接的规则,多个规则组成rules。规则中常用正则表达式的含义如下表模式描述^匹配字符串的开头$匹配字符串的末尾.匹配任意字符,除了换行符[]用来表示一组字符,单独列出:[am]匹配a,mre*匹配0个或多个的表达式re+匹配1个或多个的表达式re?匹配0个或1个由前面的正则表达式定义的片段\d匹配任意数字,等价于[0-9].\D匹配任意非数字\S匹配任意非空字符\s匹配任意空白字符\w匹配字母数字及下划线\W匹配非字母数字及
您可能关注的文档
- 《电机电气控制与PLC技术》课件附录A.pptx
- 《安全检测技术》课件安全检测技术课程简介.ppt
- 《电子线路CAD实用教程 》课件第7章 PCB设计基础.ppt
- 《电力系统分析》课件第5章.pptx
- 《数据采集与预处理》课件7:静态网页爬取模块-数据存储pymysql.pptx
- 《电子线路CAD实用教程 》课件第8章 PCB元件封装图编辑与创建.ppt
- 《单片机原理及应用》课件第1章 单片机基础知识.pptx
- 《电子线路CAD实用教程 》课件第9章 双印制板设计举例.ppt
- 《单片机原理及应用项目化教程》课件项目一 单片机基础知识.ppt
- 《电子线路CAD实用教程 》课件第5章.ppt
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)