第一章节主要给你们普及一下爬虫的概念以及相关的知识,让你们对后面的学习打下扎实的基础。若是你是有经验的开发者,彻底能够跳过第一章进入第二章的学习了。数据库
这个项目主要围绕两大核心点展开:浏览器
1. PHP爬虫服务器
2. 代理IP学习
我们先讲讲什么是爬虫,简单来说,爬虫就是一个探测机器,它的基本操做就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。网站
而咱们最多见,用的最多的爬虫就是:百度。代理
百度就是利用这种爬虫技术:天天放出无数爬虫到各个网站,把他们的信息抓回来,等着你去搜索。日志
还有各类类型的抢票软件,每个爬虫都帮助你不断刷新 12306 网站的火车余票。一旦发现有票,就立刻买下来。开发
随着时代的发展,人们发现并非全部的爬虫都像百度、抢票软件这种帮助到咱们的生活,也有许多非法入侵的爬虫,这些爬虫不只帮助不到咱们,甚至会让咱们的许多信息泄露。入门
人们十分憎恨这种爬虫,因而这就诞生了另外一门技术,反爬虫。基础
话说有一天,小明想去电影院看电影,可是不知道看哪一部电影好,因而他想从多个网站爬取一些影评来让本身更好的抉择看什么电影。因而小明写了标准的爬虫(基于HttpClient库),不断地遍历某站的电影下面的影评页面,根据 Html 分析电影名字存进本身的数据库。
可是电影网站的工做人员小红却不乐意了,你用爬虫把咱们的影评爬走了,那谁还上咱们网站啊,咱们怎么卖广告盈利啊。小红发现某个时间段请求量陡增,分析日志发现都是 IP(X.X.X.X)这个用户,而且 useragent 仍是 JavaClient1.6 ,基于这两点判断非人类后直接在Nginx 服务器上封杀。
小明发现本身的影评只爬了三分之一就被封了,因而也针对性的变换了下策略,每爬半个小时就换一个IP代理。
因而这就涉及到咱们项目的第二点,代理IP了。这个词对于一些刚入门的新手们也许有点陌生,其实代理IP咱们也能够理解为是一台代理服务器。
代理服务器是介于浏览器和Web服务器之间的一台服务器,当你经过代理服务器上网浏览时,浏览器不是直接到Web服务器去取回网页,而是向代理服务器发出请求,由代理服务器来取回浏览器所须要的信息,并传送给你的浏览器
这样,电影网站的小红就没法识别哪一个IP是咱们,而咱们也能够顺利获取到本身想要的影评啦。(不过实际中还有更多的方法进行爬虫的攻防,这里就不一一讲述了)。