![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
scrapy
我盘代码养你
这个作者很懒,什么都没留下…
展开
-
scrapy之分布式爬虫scrapy-redis
scrapy_redis的作用Scrapy_redis在scrapy的基础上实现了更多,更强大的功能,具体体现在:通过持久化请求队列和请求的指纹集合来实现:断点续爬分布式快速抓取其他概念性的东西可自行百度。我们就只写怎么将普通爬虫改写为分布式爬虫第一步:导入分布式爬虫类(抄官方)第二步:继承分布式爬虫类(记不住就抄)第三步:注销起始url和允许的域第四步:设置redis-key(随便写,看官网也行)第五步:设置–init–(抄官方例子)根据以前爬取页面的不同,我们主要写了cr原创 2020-12-24 19:54:55 · 511 阅读 · 2 评论 -
scrapy之selenium补充
我们在之前已经使用selenium中间件获取了github的cookie进行模拟登陆,但selenium的功能不止于此,我们对一些动态加载的网页,可以使用中间件selenium进行请求,然后将获取到的数据交给引擎from selenium import webdriverimport time#自己创建一个响应,不要下载器的响应from scrapy.http import HtmlResponsefrom scrapy import signalsclass SeleniumMiddlew原创 2020-12-22 12:45:40 · 81 阅读 · 0 评论 -
scrapy之crawlspider
1 crawlspider是什么回顾之前的代码中,我们有很大一部分时间在寻找下一页的url地址或者是内容的url地址上面,这个过程能更简单一些么?思路:从response中提取所有的满足规则的url地址自动的构造自己requests请求,发送给引擎crawlspider就可以实现上述需求,能够匹配满足条件的url地址,组装成Reuqest对象后自动发送给引擎,同时能够指定callback函数即:crawlspider爬虫可以按照规则自动获取连接2 创建crawlspider爬虫并观察爬原创 2020-12-22 12:39:13 · 171 阅读 · 0 评论 -
scrapy之模拟登陆的三种方法
1. scrapy模拟登陆我创建了一个scrapy项目,目的是获取github的cookie,然后对个人页面进行请求。此处创建3个爬虫文件,用3种方法分别实现。项目目录如图:1.1 抓包获取cookie适用于cookie生存时间较长的一些网站,抓包什么的你们都会,直接上爬虫代码需要登录才能爬取的网站,需要重写start_request方法爬取的文件保存到git.html1.2 发送post请求找到post的url地址:点击登录按钮进行抓包,然后定位url地址为https://github原创 2020-12-20 21:22:51 · 496 阅读 · 0 评论 -
scrapy爬虫之中间件
1. scrapy中间件的分类和作用1.1 scrapy中间件的分类根据scrapy运行流程中所在位置不同分为:下载中间件爬虫中间件1.2 scrapy中间的作用:预处理request和response对象对header以及cookie进行更换和处理使用代理ip等对请求进行定制化操作,但在scrapy默认的情况下 两种中间件都在middlewares.py一个文件中爬虫中间件使用方法和下载中间件相同,且功能重复,通常使用下载中间件2.案例使用中间件完成对豆瓣前250电影的爬取原创 2020-12-20 17:18:56 · 408 阅读 · 3 评论