python爬虫进阶(七):应对反爬虫的策略
2017-08-21 01:05
309 查看
在之前的学习中也了解到一些反爬与应对反爬的策略,见这篇博客 。
(2)单一IP非常规的数据流量
(3)大量重复简单的网站浏览行为
(4)只下载网页,没有后续的js、css请求
(5)通过一些陷阱来发现爬虫,例如一些通过CSS对用户隐藏的链接,只有爬虫才会访问
(2)动态网页 js
(3).htaccess 机器学习、大数据来判断是否爬虫
(4)基于流量的拒绝
(5)基于IP连接的拒绝
iptable的控制:
(1)验证码
(2)响应时间
(3)错误:301、401、403、404、408、429、503
三、应对反爬虫的策略
2、通过POSTMAN查找路由器的断线、重连接口
3、当发现IP被主机识别后,强制路由器断线、重连
路由器重连
当CSS内有上面语句时,在浏览器页面显示时会隐藏
限制网络爬虫的命门是限速,如何在网站限速的条件下更快速的获得我们想要的内容才是重点!!!!!
大型网站都有很多服务器,当我们访问不同的服务器时,反爬虫
9ec2
监督只会记录我们访问一次,而实际上我们不止访问一次。因此我们应该花点时间找到这些服务器的IP地址。
如:Google在全球可能有成百上千的服务器,如果我们能找到这些服务器IP地址,将会提速N倍,当爬取内容非常多时,那么这是值得的!!
例子 广东省电子税务局
console
方法一:document.getElementsByClassName('col-xs-12')[0]
方法二:document.getElementById('ifrMain').contentWindow.document.getElementsByClassName('col-xs-12')
‘ifrMain’ 拿到嵌套页面,注意复制粘贴
上面两种方法在console控制台都能拿到我们想要的内容,
但是在用selenium+phantomjs时只能用方法二
一、服务器处理web请求流程
client >> DNS(运营商) >> CDN >> proxy >> host >> Apach >> PHP二、网站反爬虫
1、网站如何发现爬虫?
(1)单一IP非常规的访问频次(2)单一IP非常规的数据流量
(3)大量重复简单的网站浏览行为
(4)只下载网页,没有后续的js、css请求
(5)通过一些陷阱来发现爬虫,例如一些通过CSS对用户隐藏的链接,只有爬虫才会访问
2、反爬虫的方案
(1)user-agent(2)动态网页 js
(3).htaccess 机器学习、大数据来判断是否爬虫
(4)基于流量的拒绝
(5)基于IP连接的拒绝
iptable的控制:
3、爬虫被网站识别后的反应
即我们的爬虫被网站识别后网站会给予我们什么信息?(1)验证码
(2)响应时间
(3)错误:301、401、403、404、408、429、503
三、应对反爬虫的策略
动态IP切换技术
1、模拟路由器登录2、通过POSTMAN查找路由器的断线、重连接口
3、当发现IP被主机识别后,强制路由器断线、重连
路由器登录
我们在浏览器url栏输入192.168.1.1就可以弹出登录信息路由器重连
CSS的display属性
display:none 隐藏当前块当CSS内有上面语句时,在浏览器页面显示时会隐藏
限制网络爬虫的命门是限速,如何在网站限速的条件下更快速的获得我们想要的内容才是重点!!!!!
大型网站都有很多服务器,当我们访问不同的服务器时,反爬虫
9ec2
监督只会记录我们访问一次,而实际上我们不止访问一次。因此我们应该花点时间找到这些服务器的IP地址。
如:Google在全球可能有成百上千的服务器,如果我们能找到这些服务器IP地址,将会提速N倍,当爬取内容非常多时,那么这是值得的!!
网页内嵌套:
一个网页内嵌套另一个网页的内容,只需要嵌入其网址,而看不到其源代码。例子 广东省电子税务局
console
方法一:document.getElementsByClassName('col-xs-12')[0]
方法二:document.getElementById('ifrMain').contentWindow.document.getElementsByClassName('col-xs-12')
‘ifrMain’ 拿到嵌套页面,注意复制粘贴
上面两种方法在console控制台都能拿到我们想要的内容,
但是在用selenium+phantomjs时只能用方法二
相关文章推荐
- Python爬虫进阶三之Scrapy框架安装配置
- python爬虫进阶之多线程
- python爬虫进阶(六):分布式系统设计
- Python 爬虫知识汇总 以及40*问题解决策略
- 用python写爬虫的一些技巧:进阶篇
- python爬虫进阶(模拟人为上网)
- Python爬虫进阶五之多线程的用法
- Python3爬虫进阶urllib模块的使用笔记
- Python爬虫进阶三之Scrapy框架安装配置
- python爬虫进阶(五):数据的存储
- Python爬虫进阶六之多进程的用法
- Python 网络爬虫反爬破解策略实战
- Python3爬虫学习2:如何应对网站的反爬虫机制
- Python爬虫学习进阶
- Python进阶_6.爬虫中总结的Python
- python[五]:python爬虫进阶
- Python爬虫:入门+进阶大纲
- Python爬虫进阶四之PySpider的用法