爬虫与反爬虫小论

小明突然想通过爬虫爬取一些图片和数据,于是他写了一个爬虫V1.0

-发送HTTP request

-解析HTML

大明是此网站的维护员,发现了某些奇怪的ip ,于是有了反爬虫v1.0

-固定ip频繁访问

-userAgent是javaClient

-没有Referer

于是小明爬虫v1.1

  • userAgent:模仿google,百度爬虫  -模仿游览器:加入referer,轮换Cookie(js库,random userAgent)
  • 分布式云端部署

接着大明的反爬虫v1.1

  • 设置单个ip访问频率
  • 封锁来自云端的ip
  • 验证google,百度爬虫ip是否真实,建立白名单

小明不服啊:爬虫v2.0

  • 随机1-5秒爬一次,每个10次休息几秒
  • 只在早上或者深夜爬取
  • 使用proxy,轮换ip:购买ip或者TOR

大明也不是吃素的,任你花样百出,我自横刀不动,反爬虫v2.0:

  • 每隔几个小时,弹出验证码

小明爬虫v3

  • 利用图像识别技术得到验证码:machine learning

大明终极大招:反爬虫v3

  • 数据不直接嵌入HTML,而是通过前端异步

小明 爬虫v4

  • 放弃HttpClient的爬虫
  • 使用内置Headless游览器的爬虫,来计算正确结果Selenium

大明我累了,能不能别进化了,

  • 混入虚假数据
  • 关键数据要求two-factor authentication
  • 蜜罐诱捕 css display:none

爬虫与反爬虫小论_第1张图片

 

你可能感兴趣的:(爬虫)