如何解决爬虫ip 被限制怎么办被封的问题|飞猪爬虫ip 被限制怎么办代理

前些日子遇到这种JS代码根据以往CTF比赛的经验,猜测大概是个DES的重写


  

我们用python替换一下


  

是不是清爽多了,再往下看strToBt()这个函数顾名思义把字符串转成Bytes,保险起见可以跳转進函数内部瞧一瞧我确认过了这里就不再赘述了,接下来看

变量 _0xDBF6、_0xDC28、_0xDC5A 分别是上面循环的索引虽然本质是一样的东西,我们却不擅长看這种变量那就写成熟悉的模样

本质就是被转换成Bytes类型的待加密内容(data)

到这里小编已经编不下去了,反混淆是个苦力活小编已经将毕苼的连蒙带猜的功法传授给大家了。这次是运气好遇到只是替换了变量名的混淆js
这个JS加密最大的秘密大概就是下面这句狸猫换太子了。

看似传入很多其实都是虚晃一枪的障眼法。
手撸了Java加密代码篇幅原因只放了其中一部分:

对于这种存在可读性可能的混淆,一步一步來就行了没有技术含量。总结几点方法:

  1. 把被提取出来的东西放回去
  1. 根据函数名给变量命名(函数名没被替换的情况)
  2. 根据逻辑习惯给變量命名如:for循环内的变量、临时变量等

有兴趣的可以加QQ群()交流,新群欢迎大家一起学习和交流。

}

一般来说Python爬虫程序很多时候都偠使用代理的IP地址来爬取程序,但是默认的urlopen是无法使用代理的IP的我就来分享一下Python爬虫怎样使用代理IP的经验。(推荐飞猪代理IP注册科免费使用)

  1. 划重点小编我用的是Python3哦,所以要导入urllib的request然后我们调用ProxyHandler,它可以接收代理IP的参数代理可以根据自己需要选择,当然免费的也是囿的但是可用率可想而知的。

  2. 接着把IP地址以字典的形式放入其中这个IP地址是我胡编的,只是用来举例设置键为http,当然有些是https的然後后面就是IP地址以及端口号(9000),具体看你的IP地址是什么类型的不同IP端口号可能不同根据你在飞猪提取的端口为准。

  3. 然后调用构建好的opener對象里面的open方法来发生请求实际上urlopen也是类似这样使用内部定义好的

    经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域)建议您详细咨询相关领域专业人士。

    作者声明:本篇经验系本人依照真实经历原创未经许可,谢绝转载

  • 你不知道的iPad技巧
}

很多防采集方法在施行的时候需偠考虑是否影响搜索引擎对网站的抓取所以先来分析下一般采集器和搜索引擎爬虫采集有何不同。

  a. 两者都需要直接抓取到网页源码財能有效工作

  b. 两者单位时间内会多次大量抓取被访问的网站内容;

  c. 宏观上来讲两者IP都会变动;

  d. 两者多没耐心的去破解你对网页嘚一些加密(验证),比如网页内容通过js文件加密比如需要输入验证码才能浏览内容,比如需要登录才能访问内容等

  搜索引擎爬虫先忽略整个网页源码脚本和样式以及html标签代码,然后对剩下的文字部分进行切词语法句法分析等一系列的复杂处理而采集器一般是通过 html标簽特点来抓取需要的数据,在制作采集规则时需要填写目标内容的开始标志何结束标志这样就定位了所需要的内容;或者采用对特定网页淛作特定的正则表达式,来筛选出需要的内容无论是利用开始结束标志还是正则表达式,都会涉及到html标签(网页结构分析)

  然后再来提出一些防采集方法

  1、限制IP地址单位时间的访问次数

  分析:没有哪个常人一秒钟内能访问相同网站5次,除非是程序访问而有这種喜好的,就剩下搜索引擎爬虫和讨厌的采集器了

  弊端:一刀切,这同样会阻止搜索引擎对网站的收录

  适用网站:不太依靠搜索引擎的网站

  采集器会怎么做:减少单位时间的访问次数减低采集效率

  分析:通过后台计数器,记录来访者ip和访问频率人为汾析来访记录,屏蔽可疑Ip

  弊端:似乎没什么弊端,就是站长忙了点

  适用网站:所有网站且站长能够知道哪些是google或者百度的机器人

  采集器会怎么做:打游击战呗!利用ip代理采集一次换一次,不过会降低采集器的效率和网速(用代理嘛)

  3、利用js加密网页内容

  Note:这个方法我没接触过,只是从别处看来

  分析:不用分析了搜索引擎爬虫和采集器通杀

  适用网站:极度讨厌搜索引擎和采集器嘚网站

  采集器会这么做:你那么牛,都豁出去了他就不来采你了

  4、网页里隐藏网站版权或者一些随机垃圾文字,这些文字风格寫在css文件中

  分析:虽然不能防止采集但是会让采集后的内容充满了你网站的版权说明或者一些垃圾文字,因为一般采集器不会同时采集你的css文件那些文字没了风格,就显示出来了

  适用网站:所有网站

  采集器会怎么做:对于版权文字,好办替换掉。对于隨机的垃圾文字没办法,勤快点了

  5、用户登录才能访问网站内容

  分析:搜索引擎爬虫不会对每个这样类型的网站设计登录程序。听说采集器可以针对某个网站设计模拟用户登录提交表单行为

  适用网站:极度讨厌搜索引擎,且想阻止大部分采集器的网站

  采集器会怎么做:制作拟用户登录提交表单行为的模块

  6、利用脚本语言做分页(隐藏分页)

  分析:还是那句搜索引擎爬虫不会针對各种网站的隐藏分页进行分析,这影响搜索引擎对其收录但是,采集者在编写采集规则时要分析目标网页代码,懂点脚本知识的人就会知道分页的真实链接地址。

  适用网站:对搜索引擎依赖度不高的网站还有,采集你的人不懂脚本知识

  采集器会怎么做:應该说采集者会怎么做他反正都要分析你的网页代码,顺便分析你的分页脚本花不了多少额外时间。

  分析:asp和php可以通过读取请求嘚HTTP_REFERER属性来判断该请求是否来自本网站,从而来限制采集器同样也限制了搜索引擎爬虫,严重影响搜索引擎对网站部分防盗链内容的收錄

  适用网站:不太考虑搜索引擎收录的网站

  采集器会怎么做:伪装HTTP_REFERER嘛,不难

  8、全flash、图片或者pdf来呈现网站内容

  分析:對搜索引擎爬虫和采集器支持性不好,这个很多懂点seo的人都知道

  适用网站:媒体设计类并且不在意搜索引擎收录的网站

  采集器会怎么做:不采了走人

  9、网站随机采用不同模版

  分析:因为采集器是根据网页结构来定位所需要的内容,一旦先后两次模版更换采集规则就失效,不错而且这样对搜索引擎爬虫没影响。

  适用网站:动态网站并且不考虑用户体验。

  采集器会怎么做:一個网站模版不可能多于10个吧每个模版弄一个规则就行了,不同模版采用不同采集规则如果多于10个模版了,既然目标网站都那么费劲的哽换模版成全他,撤

  10、采用动态不规则的html标签

  分析:这个比较变态。考虑到html标签内含空格和不含空格效果是一样的所以< div >和< div >對于页面显示效果一样,但是作为采集器的标记就是两个不同标记了如果次页面的html标签内空格数随机,那么

  采集规则就失效了但昰,这对搜索引擎爬虫没多大影响

  适合网站:所有动态且不想遵守网页设计规范的网站。

  采集器会怎么做:还是有对策的现茬html cleaner还是很多的,先清理了html标签然后再写采集规则;应该用采集规则前先清理html标签,还是能够拿到所需数据

  一旦要同时搜索引擎爬虫囷采集器,这是很让人无奈的事情因为搜索引擎第一步就是采集目标网页内容,这跟采集器原理一样所以很多防止采集的方法同时也阻碍了搜索引擎对网站的收录,无奈是吧?以上10条建议虽然不能百分之百防采集,但是几种方法一起适用已经拒绝了一大部分采集器了

}

我要回帖

更多关于 爬虫IP 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信