• 寒假大数据学习笔记十二


      今天主要学习依然是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时,目前提取到的网页就是叶子节点,不会再向下发展了。

  • 相关阅读:
    SQL UNION 和 UNION ALL 操作符
    JavaScript--验证码随机生成
    C#基础 out和ref
    远程连接身份验证错误,又找不到加密Oracle修正
    ASP.Net WebAPI -- 简单实现增删改查
    SpringBoot发送邮箱验证码
    VMware虚拟机安装Linux系统详细教程
    SpringBoot实现登陆拦截
    JavaScript 实例、构造函数、原型对象关系图
    JavaScript创建对象的几种方式总结
  • 原文地址:https://www.cnblogs.com/YXSZ/p/12303147.html
Copyright © 2020-2023  润新知