×
新网 > 建站推广 > 正文

关于网站的爬虫机制

  • 作者:新网
  • 来源:新网
  • 浏览:100
  • 2018-02-24 17:14:44

网站的爬虫就是由计算机自动与服务器交互获取数据的工具,爬虫的最基本就是get一个网页的源代码数据,如果更深入一些,就会出现和网页进行POST交互,获取服务器接收POST请求后返回的数据。

 网站的爬虫就是由计算机自动与服务器交互获取数据的工具,爬虫的最基本就是get一个网页的源代码数据,如果更深入一些,就会出现和网页进行POST交互,获取服务器接收POST请求后返回的数据。

20170702102759694.jpg
<div>反爬及反反爬概念的不恰当举例:

 
基于很多原因(如服务器资源,保护数据等),很多网站是限制了爬虫效果的。考虑一下,由人来充当爬虫的角色,我们怎么获取网页源代码?最常用的当然是右键源代码。
 
网站屏蔽了右键,怎么办?拿出我们做爬虫中最有用的东西 F12,同时按下F12就可以打开了,在把人当作爬虫的情况下,屏蔽右键就是反爬取策略,F12就是反反爬取的方式。
 
讲讲正式的反爬取策略:
 
事实上,在写爬虫的过程中一定出现过没有返回数据的情况,这种时候也许是服务器限制了UA头(user-agent),这就是一种很基本的反爬取,只要发送请求的时候加上UA头就可以了…是不是很简单?
 
其实一股脑把需要不需要的Request Headers都加上也是一个简单粗暴的办法……
 
有没有发现网站的验证码也是一个反爬取策略呢?为了让网站的用户能是真人,验证码真是做了很大的贡献。随验证码而来的,验证码识别出现了。
 
说到这,不知道是先出现了验证码识别还是图片识别呢?
 
简单的验证码现在识别起来是非常简单的,网上有太多教程,包括稍微进阶一下的去噪,二值,分割,重组等概念。
 
思考一些这种验证码应该怎么识别?这种时候去噪就派上了用处,根据验证码本身的特征,可以计算验证码的底色和字体之外的RGB值等,将这些值变成一个颜色,将字体留出。
 
在验证码的发展中,还算清晰的数字字母,简单的加减乘除,网上有轮子可以用,有些难的数字字母汉字,也可以自己造轮子(比如上面),但更多的东西,已经足够写一个人工智能了。
 
再加一个小提示:有的网站PC端有验证码,而手机端没有。反爬取策略中比较常见的还有一种封IP的策略,通常是短时间内过多的访问就会被封禁,这个很简单,限制访问频率或添加IP代理池就OK了,当然,分布式也可以。
 
还有一种也可以算作反爬虫策略的就是异步数据,随着对爬虫的逐渐深入,异步加载是一定会遇见的问题,解决方式依然是F12。
 
以上就是小编对于网站的爬虫机制的解析。
 

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading