【php爬虫】网络爬虫开发领域常见问题分析以及解决方案

这里只谈数据采集/爬虫开发过程中可能遇到一些问题/反爬机制,以及如何解决(问题解决思路),其他的暂时不谈。

可能会遇到的一些问题:

  1. 目标网站/app没有做反扒机制,那这就很好搞了,你就放开了随便爬,爬他个天荒地老、海枯石烂,只要服务器不到。
  2. 目标网站/app会做一些简单的Referer、host、head请求头验证等。
  3. 目标网站会做一些登录之类的cookie验证(如淘宝)。
  4. 目标网站会一些高级的用户行为检测判断来访者是否是真人用户。
  5. js渲染模板、token验证机制 ,或者有验证码。
  6. 请求频繁要验证,ip被限制,拉黑等

解决方案:

    2.curl自己设置伪造Referer、host、head即可。

    3.两个解决办法,简单就是登录目标网站后手动复制cookie字符串,写程序里,请求的时候带上cookie就可完美解决。

    4.目前能用到这种复杂技术的网站极少极少,至少目前为止我就碰到过一个国外网站是这样的。解决方案是:可采用php内置v8引擎解决运行,或者向插入一些js代码、chrome扩展采集、c#桌面开发调webkit从浏览器内核去数据。

   5.目标网站的token是一个比较棘手麻烦的东西,不过这不算什么,就没有哥解决不了的问题:看此token从哪里来的,也模拟去请求然后获得此token,或者直接先去模板里提取token然后拿到token再请求接口数据、若是js加密生成的token,那我们只需从js入手,找到加密算法即可(也有可能js也加密了,要先解密js)、如果人访问的时候没有验证码,而程序爬的时候有,那一定是被检测出有爬虫了特征了,对于这个问题,其实比较棘手,要么被检测出来到原因,要么对接打码平台识别验证或者自己手写php识别也行。

  7.如果是服务器限制每分钟每个ip/用户只能请求多少次,那如果是ip的话,我们只需要换ip就可以换解决,如果是限制用户,那我们就换cookie(里面存的是sessionid)以实现切换用户帐号的目的、ip被限制拉黑同上准备大量ip池就ok ,期间发现被限制ip就换ip,目前代理的有这么几种方式:pptp、vpn(加密流量传输,有更好的隐匿性和流量混淆功能,带网络速度会可能慢)。   

 

反爬虫几乎和爬虫同时诞生,它们是相爱相杀的连个技术,如果没有爬虫就没有反扒,而反扒技术又反过来又可以促进爬虫技术的发展,是不是很有趣?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值