首页 > 其他 > 详细

寒假大数据学习笔记十二

时间:2020-02-13 17:35:43      阅读:32      评论:0      收藏:0      [点我收藏+]

  今天主要学习依然是scrapy,不过我放慢速度了,scrapy才学到定制模板这一块,而之前的也有很多没有搞懂的。

  不过今天学的少的主要原因是我的pycharm崩了,用的激活码过期了,在网上找了好几个小时可用激活码,结果时间就都浪费在这里了,练习代码也没有写多少。

  crawlspider,是scrapy爬虫框架中更为精细的定制模板框架,创建命令为 scrapy genspider -t crawl [爬虫名称] [域名] ,它有两个最主要的类,一个是 class scrapy.linkextractors.LinkExtractor ,作用是提取链接。内部有两个最主要的参数,一个是allow:满足括号中“正则表达式”的值会被提取,如果为空,则会全部匹配;另一个是deny:与这个正则表达式(或正则表达式列表)不匹配的URL一定不提取。另外一个主要的类是 class scrapy.spiders.Rule ,它的作用是制定规则,即制定提取网页内容的规则。参数LinkExtractor负责定义爬取规则;参数call_back就是回调函数;参数follow是一个布尔类型的值,通过是或否判断该不该继续在提取出的网页中继续提取网页。

  在我看来linkExtractor比较好理解,但Rule的几个参数就有点麻烦了。我是这样理解的,Rule中的LinkExtractor参数就是调用第一个的类;call_back就是要调用将提取出的数据整理并保存的函数,放在以前的普通scrapy爬虫中就是调用parse函数;而最后的follow参数,True代表目前提取出的网页中,只要有符合自己定义的规则,就继续追踪下去,而False相反,在目前提取出的网页不再继续追踪。

  或者,follow参数也可以这么理解,将整个爬虫爬取到的所有网址看做一棵树,将开始域名当做根节点,那么目前提取到的网页就是一个节点,当follow为true时,这个节点有可能就不是叶子,它就会存在子节点(如果符合提取规则,否则此节点依旧为叶子);而当follow为false时,目前提取到的网页就是叶子节点,不会再向下发展了。

寒假大数据学习笔记十二

原文:https://www.cnblogs.com/YXSZ/p/12303147.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!