一、爬虫
1.爬虫是什么?
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。
2.要学习爬虫怎么做?
我们需要学习以下几点:
Python基础知识
Python中urllib和urllib2库的用法
Python正则表达式
Python爬虫框架Scrapy
Python爬虫更高级的功能
二、反爬虫
1.为什么要反爬虫?
1.爬虫并不是一个真正用户的流量,爬虫会浪费网站的流量,也就是会浪费钱。
2.公司可免费查询的资源被批量抓走,丧失竞争力,这样少赚钱。
3.短时间内发出大量请求,服务器带宽都被占用了,影响正常用户访问。
2.反什么样的爬虫?
1、十分低级的应届毕业生
应届毕业生的爬虫通常简单粗暴,根本不管服务器压力,加上人数不可预测,很容易把站点弄挂。
2、十分低级的创业小公司
现在的创业公司越来越多,也不知道是被谁忽悠的然后大家创业了发现不知道干什么好,觉得大数据比较热,就开始做大数据。
分析程序全写差不多了,发现自己手头没有数据。
怎么办?写爬虫爬啊。于是就有了不计其数的小爬虫,出于公司生死存亡的考虑,不断爬取数据。
3、不小心写错了没人去停止的失控小爬虫
携程上的点评有的时候可能高达60%的访问量是爬虫。我们已经选择直接封锁了,它们依然孜孜不倦地爬取。
什么意思呢?就是说,他们根本爬不到任何数据,除了http code是200以外,一切都是不对的,可是爬虫依然不停止这个很可能就是一些托管在某些服务器上的小爬虫,已经无人认领了,依然在辛勤地工作着。
4、成型的商业对手
这个是最大的对手,他们有技术,有钱,要什么有什么,如果和你死磕,你就只能硬着头皮和他死磕。
5、抽风的搜索引擎
爬虫:使用任何技术手段,批量获取网站信息的一种方式。关键在于批量。
反爬虫:使用任何技术手段,阻止别人批量获取自己网站信息的一种方式。关键也在于批量。
误伤:在反爬虫的过程中,错误的将普通用户识别为爬虫。误伤率高的反爬虫策略,效果再好也不能用。
拦截:成功地阻止爬虫访问。这里会有拦截率的概念。通常来说,拦截率越高的反爬虫策略,误伤的可能性就越高。因此需要做个权衡。
资源:机器成本与人力成本的总和。
每年的三月份我们会迎接一次爬虫高峰期。