![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
爬虫
图 南
这个作者很懒,什么都没留下…
展开
-
爬虫时,遇到滑块验证码,来看看这个解决方案
**图形验证码:**干扰、杂色不是特别多的图片可以使用开源库 Tesseract 进行识别,太过复杂的需要借助第三方打码平台。**点击和拖动滑块验证码:**可以借助 selenium、无图形界面浏览器(chromedirver 或者 phantomjs) 和 pillow 包来模拟人的点击和滑动操作,pillow 可以根据色差识别需要滑动的位置...原创 2020-08-08 10:32:21 · 2878 阅读 · 0 评论 -
你了解分布式爬虫的工作机理吗?
scrapy-redis 实现分布式,其实从原理上来说很简单,这里为描述方便,我们把自己的核心服务器称为 master,而把用于跑爬虫程序的机器称为 slave。我们知道,采用 scrapy 框架抓取网页,我们需要首先给定它一些 start_urls,爬虫首先访问 start_urls 里面的 url,再根据我们的具体逻辑,对里面的元素、或者是其他的二级、三级页面进行抓取。而要实 现分布式,我们只需要在这个 starts_urls 里面做文章就行了。我们在 master 上搭建一个 redi..原创 2020-08-08 10:07:48 · 109 阅读 · 0 评论 -
scrapy 和 scrapy-redis 的区别?
scrapy 是一个 Python 爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。而 scrapy-redis 是一套基于 redis 数据库、运行在 scrapy 框架之上的组件,可以让 scrapy 支持分布式策略, Slaver 端共享 Master 端 redis 数据库里的 item 队列、请求队列和请求指纹集合。为什么选择 redis 数据库,因为 redis 支持主从同步,而且数据都是缓存在内存中的,所以基于 redis的分布式爬虫,对请求和数据的高频读取效率非常高。..原创 2020-08-07 11:13:50 · 514 阅读 · 0 评论 -
说说你常使用的爬虫框架,它有什么优点?
我平常使用的是 scrapy 框架,scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,就能够快速的抓取到数据内容。Scrapy 使用了 Twisted 异步网络框架来处理网络通讯,可以加快我们 的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。scrapy 组成部分【1】引擎(Engine)----------整个框架核心【2】爬虫程序(Spider)------数据解析提取【3】调度器(Scheduler)-----维原创 2020-08-07 11:12:55 · 465 阅读 · 0 评论 -
python 爬虫 常见的反爬策略及应对方案?
【1】Headers反爬虫 1.1) 检查: Cookie、Referer、User-Agent 1.2) 解决方案: 通过F12获取headers,传给requests.get()方法 【2】IP限制 2.1) 网站根据IP地址访问频率进行反爬,短时间内限制IP访问 2.2) 解决方案: a) 构造自己IP代理池,每次访问随机选择代理,经常更新代理池 b) 购买开放代理或私密代理IP c) 降低爬取的速度原创 2020-08-07 11:10:22 · 415 阅读 · 0 评论