关于爬虫与反爬虫简略方案

像安全与黑客从来都是相辅相成一样。
爬虫与反爬虫也是在双方程序员的斗智斗勇的过程不断发展和成长的。

抓包

抓包的目的: 分析出协议请求使用的数据,请求接口,参数等等。
常用的抓包分析工具:

  • Fiddler
  • Charles
  • Sniffer
  • Wireshark

具体使用策略,请自行百度,Google。

抓数据

这是我使用代理ip请求登录接口时,某APP的响应:

使用 HttpClient 模拟请求

充分了解 HttpClient 的特性,使用方式等。
HttpClient4.5官方教程

user_agent 的使用

使用 user_agent 的伪装和轮换模拟不同的客户端。
建立UserAgent池,可以通过以下地址获取一定量的UserAgent的信息。

http://www.fynas.com/ua/search?b=Chrome&k=

代理IP的使用

建立代理ip池,一般使用的免费或收费代理获取代理ip每秒都会有一定的频率限制。
那么我们在使用的时候,就要在频率限制内建立自己内部的一些策略,
当然这些策略建立在代理服务商的策略之上。因此设计实施时要考虑易维护性。

http代理

有些网站(包括APP、PC)具有一定的反爬虫能力,
如拒绝代理ip直接请求接口:
这是我使用代理ip请求登录接口时,某APP的响应:

CONNECT refused by proxy

而使用socks代理则无此问题。这就不得不要了解http代理和socks代理的区别。

socks代理

待续

设置访问频率

即便是使用了代理ip,那么对目标接口的访问也要有一定的频率控制,
防止目标服务方检测出频率过快,进行拒绝服务的响应。

Cookie 池失效和更新策略

获取目标站点Cookie有效时间,
将对应账号和Cookie存入Redis,
起一个任务对账号Cookie进行定时检测,
接近失效时间,进行提前更新Cookie信息,

具体Cookie 池Cookie的失效和更新策略需要根据自己业务进行适当调整。

防止目标方的分析

  • 确保同一账号的请求使用的是同一个UserAgent、同一个代理ip。
  • 注意访问频率
  • 其他

总而言之,就是模拟正常的客户端发起对服务方的请求,伪装的越像正常的客户端,服务方越难分析出。

只要是服务方能够提供服务,一般情况下都可以进行数据的爬取,
只不过是难易程度不同。
如果出于商业目的,要考虑付出的成本到底是否合适。


原文地址:https://www.cnblogs.com/ljmatlight/p/8275805.html

时间: 2024-10-08 05:51:16

关于爬虫与反爬虫简略方案的相关文章

爬虫与反爬虫

转自:https://mp.weixin.qq.com/s/-w-yC6PCdTOpfKS8HZEleA 前言 爬虫与反爬虫,是一个很不阳光的行业. 这里说的不阳光,有两个含义. 第一是,这个行业是隐藏在地下的,一般很少被曝光出来.很多公司对外都不会宣称自己有爬虫团队,甚至隐瞒自己有反爬虫团队的事实.这可能是出于公司战略角度来看的,与技术无关. 第二是,这个行业并不是一个很积极向上的行业.很多人在这个行业摸爬滚打了多年,积攒了大量的经验,但是悲哀的发现,这些经验很难兑换成闪光的简历.面试的时候,

Python爬虫与反爬虫(7)

[Python基础知识]Python爬虫与反爬虫(7) 很久没有补爬虫了,相信在白蚁二周年庆的活动大厅比赛中遇到了关于反爬虫的问题吧 这节我会做个基本分享. 从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分. 一般网站从三个方面反爬虫:用户请求的Headers,用户行为,网站目录和数据加载方式.前两种比较容易遇到,大多数网站都从这些角度来反爬虫.第三种一些应用ajax的网站会采用,这样增大了爬取的难度. user-agent 最简单的反爬虫机制,应该算是U-A校验了.浏览器在发送请求的时候

【Python】爬虫与反爬虫大战

爬虫与发爬虫的厮杀,一方为了拿到数据,一方为了防止爬虫拿到数据,谁是最后的赢家? 重新理解爬虫中的一些概念 爬虫:自动获取网站数据的程序反爬虫:使用技术手段防止爬虫程序爬取数据误伤:反爬虫技术将普通用户识别为爬虫,这种情况多出现在封ip中,例如学校网络.小区网络再或者网络网络都是共享一个公共ip,这个时候如果是封ip就会导致很多正常访问的用户也无法获取到数据.所以相对来说封ip的策略不是特别好,通常都是禁止某ip一段时间访问.成本:反爬虫也是需要人力和机器成本拦截:成功拦截爬虫,一般拦截率越高,

python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性)

python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性) 目录 随机User-Agent 获取代理ip 检测代理ip可用性 随机User-Agent fake_useragent库,伪装请求头 from fake_useragent import UserAgent ua = UserAgent() # ie浏览器的user agent print(ua.ie) # opera浏览器 print(ua.opera) # chrome浏览器 print(ua.chro

2015第42周一爬虫与反爬虫

一般爬虫要考虑的问题 之前尝试了request和cheerio实现的简单抓取数据用例,真的很初级,真正的爬虫且不说Google.百度等商用爬虫,即便是一个开源爬虫也要考虑很多东西,比如nodejs的开源爬虫neocrawler: 抓取网页并进行结构化解析,提取关键字后索引入库,防止网页重复抓取: 抓取利用JS产生内容的网页: 重试容错机制,失败后详细记录: 预设cookie,解决登陆后才能抓取内容问题: 限制并发数和集成代理IP功能,避免被原网站屏蔽: 分布式抓取提升效率. 网站反爬虫常用方法

Python3爬虫(十一) 爬虫与反爬虫

Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.重要概念 二.爬虫反爬虫进化论 原文地址:https://www.cnblogs.com/Infi-chu/p/8981537.html

简析爬虫、反爬虫、反反爬虫之间的抗衡

爬虫的类型分为:通用型爬虫.聚焦型爬虫. 通用型爬虫指的是搜索引擎, 聚焦型爬虫指的是针对哪家网站做针对性的爬取. 接下来分析一下其各自的手段和方法. 反爬手段:IP频率限制,在一定时间内对服务器发起较高频率的网络请求的IP. 用户信息,需要用户名密码及验证码的验证, ajax异步请求,页面无刷新 投毒型,要a给b 诱捕型,多层级存储文件 爬虫:IP代理,IP池,降低频率,模拟用户信息,模拟浏览器, 由爬虫引出的反爬虫.反反爬虫之间不仅是各大公司财力的抗衡,也是优秀的爬虫工程师之间技术的较量,

爬虫与反爬虫的较量-图片反爬

前言 在去年6月吧,刚转行做爬虫的时候,经常拿图片网还有小说网练手,无意中发现一个壁纸网站叫做娟娟壁纸网,有好多高清壁纸(这不是广告,哈哈) 当时是写了全站爬取的代码.以为自己大工告成的时候,结果刚运行,就发现爬出来的图片不对. 每张图片都是这样,我以为遇到了IP限制,于是使用代理,结果仍然是失败. 难道是请求头做了限制?好,那我全部带上.结果依旧失败. 当时也是忙于找工作,也没静下心来仔细想,今天回过头来继续盘它. 虽然最后巧妙的用了get请求爬取成功,但是还是没搞明白原图反爬的原因. 下面来

爬虫与反爬

爬虫与反爬 (1) 基本的概念 爬虫: 自动获取网站数据的程序 关键是 定时,定量的,批量的获取 反爬虫: 使用技术手段 防止爬虫程序的方法 存在误伤,即 反爬技术 将普通用户识别为爬虫 如果误伤高 --- 效果再好也不能使用 例子: 比如 限制 ip === 用户的ip 一般都是 局域网内动态分配的, 一个爬虫的ip 可能分配给 另一个 非爬虫的用户 有效的方法: 可以在一段时间内 限制 ip,过一段时间 再把 ip释放 反爬的成本: 成功率越高成本越大,拦截率越高,误伤率越高 反爬虫的目的: