相信能看到这篇文章的朋友对爬虫这个词肯定不陌生了,而本片文章将作为爬虫技术分享系列教程的开篇,为大家介绍以下几个问题:
1.什么是爬虫?
2.什么时候需要使用爬虫?
3.如何开发一个爬虫程序?
1.什么是爬虫?
爬虫,本质上来说就是一个脚本程序,它实现了自动化获取和分析服务器返回的数据。打个比方,我们经常做的一件事,就是打开微博或者新闻网站,然后开始浏览,但是这个过程中你会发现,你关注的内容只是标题、内容、图片等信息,而页面上充斥着非常多你不需要的东西,从打开网页并浏览网页直到你的眼睛过滤这些信息的过程就是爬虫的工作原理。简单来说,我可以手动打开新闻网站,然后浏览各个新闻的标题。我也可以利用爬虫程序,自动获取新闻网站的内容,帮我提取出里面的新闻标题,然后呈现在我面前。
2.什么时候需要使用爬虫?
前面说到,爬虫是一个脚本程序,可以实现自动化获取和分析服务器返回的数据,那么当你发现你需要重复获取和提取相似内容的时候,你就需要考虑使用爬虫了。再打个比方,如果你需要获取一个博客从建站以来发过的所有博文的标题,你会怎么做?方法一:用浏览器打开博客,从第一篇博文开始翻,并且手动把标题复制下来,保存到一个文档;方法二:写一个爬虫程序,自动爬取数据。到这里你可能会想,那我写个爬虫程序的时间说不定我都手动复制完了!是的,你没错,写一个爬虫程序的时间成本可能并不比手动获取数据低,但是!假如这时你发现原来的文档格式要求不太符合要求,并且需要加上发布博文的时间,你用第一个方法该怎么做?而爬虫程序只需要做简单的修改即可满足新的需求!说到这里,大家应该明白为什么使用爬虫程序了吧!
3.如何开发一个爬虫程序?
前面说了那么多,大家肯定想说:你倒是告诉我怎么写爬虫啊?!别着急,现在就是告诉你怎么写。上面提到,爬虫就是自动化获取和分析服务器返回的数据的脚本程序,所以核心就是两个:获取和分析。获取,简单来说就是模拟浏览器向服务器发出http请求,获取服务器正常返回的数据。分析,就是对第一步中获取到的数据做处理,提取出里面的有效数据。那么这两个步骤具体用到什么技术?需要什么编程语言?要不要用框架?获取和分析用到的技术分别是http请求和正则表达式,编程语言不限(我常用的有Python、PHP、JS),只要是能进行网络编程且支持正则表达式的语言都可以!至于框架,也是结合实际情况使用,不要为了用框架而用框架!