crawlspider就可以实现上述需求,能够匹配满足条件的url地址,组装成Reuqest对象后自动发送给引擎,同时能够指定callback函数
1.从response中提取所有的满足规则的url地址
2.自动的构造自己requests请求,发送给引擎

1.应用

1) 创建crawlspider爬虫:
scrapy genspider -t crawl job xxx.com

2)CrawlSpider.py

class JobSpider(CrawlSpider):name = 'job'allowed_domains = ['163.com']start_urls = ['https://hr.163.com/position/list.do']rules = (Rule(LinkExtractor(allow=r'Items/'), callback='parse_item', follow=True),)def parse_item(self, response):i = {}#i['domain_id'] = response.xpath('//input[@id="sid"]/@value').extract()#i['name'] = response.xpath('//div[@id="name"]').extract()#i['description'] = response.xpath('//div[@id="description"]').extract()return i

Rule:
Rule表示规则,批量在response中提取url规则
LinkExtractor: 链接提取器,可以通过正则或者是xpath来进行url地址的匹配
callback: 表示经过连接提取器提取出来的url地址响应的回调函数,可以没有,没有表示响应不会进行回调函数的处理
follow: 连接提取器提取的url地址对应的响应是否还会继续被rules中的规则进行提取,默认True表示会,Flase表示不会
process_links: 当链接提取器LinkExtractor获取到链接列表的时候调用该参数指定的方法,这个自定义方法可以用来过滤url,且这个方法执行后才会执行callback指定的方法

LinkExtractor:
allow: 满足括号中的’re’表达式的url会被提取,如果为空,则全部匹配
deny: 满足括号中的’re’表达式的url不会被提取,优先级高于allow
allow_domains: 会被提取的链接的domains(url范围),如:[‘hr.tencent.com’, ‘baidu.com’]
deny_domains: 不会被提取的链接的domains(url范围)
restrict_xpaths: 使用xpath规则进行匹配,和allow共同过滤url,即xpath满足的范围内的url地址会被提取,如:restrict_xpaths=’//div[@class=“pagenav”]’

scrapy crawlspider相关推荐

  1. Scrapy CrawlSpider介绍和使用

    一.介绍CrawlSpider   CrawlSpider其实是Spider的一个子类,除了继承到Spider的特性和功能外,还派生除了其自己独有的更加强大的特性和功能.其中最显著的功能就是" ...

  2. scrapy+crawlspider+增量式爬取电影

    如果我们要爬去一个网站,而网站的数据又是经常更新的,但是对于爬虫来说,启动爬虫的时候他会认为他爬取的数据是新的,因此,我们需要一个凭证来告诉爬虫这个数据已经存在 movie.py # -*- codi ...

  3. 爬取汽车之家图片 - scrapy - crawlspider - python爬虫案例

    爬取汽车之家图片 需求:爬取汽车之家某一个汽车的图片 ​ 一. 普通scrapy 第一步 页面分析 目标url: https://car.autohome.com.cn/photolist/serie ...

  4. 爬虫教程( 2 ) --- 爬虫框架 Scrapy、Scrapy 实战

    From:https://piaosanlang.gitbooks.io/spiders/content/ scrapy-cookbook :https://scrapy-cookbook.readt ...

  5. 爬虫 第六讲 Scrapy框架

    文章目录 爬虫 第六讲 Scrapy框架 一.Scrapy框架 Scrapy简介 工作流程 Scrapy入门 pipline使用 1.scrapy.Request知识点 2.item的介绍和使用 3. ...

  6. Scrapy框架 - 学习日记2

    1.调试 1.1 loggin模块的使⽤ import scrapy import logginglogger = logging.getLogger(__name__)class QbSpider( ...

  7. Scrapy爬虫爬取电影天堂

    Scrapy CrawlSpider爬取 目标网址:http://www.dytt8.net 创建项目:scrapy startproject <爬虫项目文件的名字> 生成 CrawlSp ...

  8. 逆向爬虫18 Scrapy抓取全站数据和Redis入门

    逆向爬虫18 Scrapy抓取全站数据和Redis入门 一.全站数据抓取 1. 什么是抓取全站数据? 我们曾经在过猪八戒,图片之家,BOSS直聘等网站,利用网站官方提供的搜索功能,搜索指定关键词的内容 ...

  9. Python+Pycharm +Scrapy搭建爬虫项目

    Python+Pycharm +Scrapy搭建爬虫项目 Scrapy简介: Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系 ...

最新文章

  1. 排查IDEA 全局搜索快捷键Ctrl +Shift+F不起作用的原因和解决方法
  2. 周志华讲座---关于人工智能---科普性质---天地工学讲坛2017.11.30
  3. oracle连接数一直超出,Oracle超出最大連接數問題及解決(…
  4. Mac下,如何把项目托管到Github上(Github Desktop的使用)
  5. linux 下安装chrome的rpm包
  6. Java的历史和学习Java需要准备的工具
  7. python创建docx文件
  8. 《电路》邱关源 思维导图 第二章 电阻电路的等效变换
  9. 人力面试时常规的面试题
  10. 【Unity3D】拖尾TrailRenderer
  11. 打印机一直在打印不停止的问题
  12. qca9882 qca9880移植
  13. AMD将推出7纳米GPU Vega,专为深度学习和机器学习打造
  14. jquery vue 替代_vue能代替jquery吗
  15. net start命令的使用
  16. 一类用 LCT 维护信息的题目
  17. 使用PayPal补习注册(2/3):PayPal项目的真实注册
  18. 【sbt】sbt package与sbt assembly
  19. DBCO-MMPs-PEG DBCO-基质金属蛋白酶MMPs-聚乙二醇
  20. 项目源码--Android3D影音播放器源码

热门文章

  1. turtle模块还能这样玩?(一条条金龙鱼、雨景)
  2. 微课|《Python编程基础与案例集锦(中学版)》第5章例题讲解(1)
  3. Python查找包含指定字符串的所有Office文档
  4. c语言程序设计李泽中课后,C语言程序设计李泽中课件第4章解读.ppt
  5. 聚簇索引和非聚簇索引的区别_学习索引的一些总结
  6. 计算机管理员初级试题及答案,计算机管理员测试题及答案.doc
  7. linux contos升级内核,CentOS7升级内核方法
  8. dos 退出mysql_【转】MySQL 一闪退出解决_MySQL
  9. QT每日一练day4:ubuntu中使用QT
  10. 计算机可以辅助解决哪些医学问题,计算机辅助医学影像诊查之关键学习技术研究...