爬虫相关知识点

爬虫:

​    0、设置起始url,   follow=True

​    1、获取分类

​        获取起始url的响应,在响应中获取分类的url地址。

​        构造请求,请求多个分类清单。follow=True

​    2、获取清单

​        拿到清单页的响应,获取清单页中详情的url地址。

​        构造请求,请求多个详情。callback=解析函数

​    3、获取详情

​        拿到详情页的响应,提取数据。

​        对于一些额外的数据,构造额外的请求 callback=解析函数

​    4、获取额外数据

​        获取响应,提取数据

​        把提取到的数据交给管道处理。

crawlspider的作用,简化获取分类和清单页url地址的编写

​    创建:

​        scrapy genspider -t crawl 爬虫名 范围

​    与之前basic爬虫的区别:

​        1、继承的类不同CrawlSpider

​        2、多了一个rules其中包含很多的Rule规则

​        3、不需要重写parse方法。

Rule中的两个重要参数:

​    指定匹配到url路径后,scrapy如何处理拿到的响应。如果时follow=True,继续让他通过Rules规则过滤,如果callback有设置,那么就调用相应的解析函数对数据进行提取。

​    1、callback

​    2、follow

下载器中间件:

​    位置:引擎和下载器之间

​    1、处理从引擎到下载器的请求

​        process_request(request, spider)

​        返回值:

​            None,不对request进行拦截,请求会继续提交到下载器下载。可以在函数中对request请求设置一些属性,比如像cookie、user-agent、proxy

​            Request,此次请求不会到下载器,返回的请求会添加到调度器中,以后再重新请求。

​            Response,此次请求不会到下载器,返回的响应会提交到爬虫进行数据处理。

​    2、处理从下载器下载回来的响应

​        process_response(request, response, spider)

​        返回值:

​            Response,此次响应回来的响应对象,会提交给爬虫进行后续处理。

​            Request,此次响应完后,发现可能需要重新发送请求再获取响应,返回请求对象后,引擎会将request对象交由调度器保存,随后再发送请求。

​            None,丢弃此次响应的响应对象,不会进行后续处理。

关于Scrapy中Cookie的使用

​    setting.py中有一个配置 COOKIES_ENABLED = True默认为True

​    意义是,把响应中的Cookie取出进行保存,再下次请求时携带到服务器。

​    我们如果需要模拟登陆,就需要再第一次请求(start_url)中手动添加Cookie,添加方法就是手动创建起始页的请求对象,并在请求对象中使用cookies参数添加cookie。需要重写一个方法start_request方法。
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值