浅显易懂解释爬虫(Spider),反爬虫(Anti-Spider),反反爬虫(Anti-Anti-Spider)之间的小斗争

本文讲述了小张使用爬虫抓取电影信息过程中遇到的反爬虫策略,包括IP封锁、频率限制、验证码及动态加密的挑战,以及小张如何应对,如改变useragent、使用代理IP、图像识别验证码、使用PhantomJS或Selenium等,揭示了爬虫与反爬虫之间的斗智斗勇。
摘要由CSDN通过智能技术生成

Day 1
小张想要某站上所有的电影,写了标准的爬虫(基于 HttpClient),不断地遍历某站的电影列表页面,根据 Html 分析电影名字存进自己的数据库。这个站点的运维小厮发现某个时间段请求量陡增,分析日志发现都是 IP(1.1.1.1)这个用户,并且 userAgent 还是 JavaClient1.6 ,基于这两点判断非人类后直接在Nginx 服务器上封杀。
Day 2
小张电影只爬了一半,于是也针对性的变换了下策略:

  1. useragent 模仿谷歌的(“User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36”)
  2. IP每爬半个小时就换一个IP代理。小厮也发现了对应的变化,于是在 Nginx 上设置了一个频率限制,每分钟超过120次请求的再屏蔽IP。 同时考虑到谷歌家的爬虫有可能会被误伤,想想市场部门每月几十万的投放,于是写了个脚本,通过 hostname 检查下这个 ip 是不是真的谷歌家的,对这些 ip 设置一个白名单。
    Day 3
    小张发现了新的限制后,想着我也不急着要这些数据,留给服务器慢慢爬吧,于是修改了代码,随机1-3秒爬一次,爬10次休息10秒,每天只在8-12,18-20点爬,隔几天还休息一下。小厮看着新的日志头都大了,再设定规则不小心会误伤真实用户,于是准备换了一个思路,当3个小时的总请求超过50次的时候弹出一个验证码弹框,没有准确正确输入的话就把 IP 记
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值