网络爬虫

★网络爬虫是什么

网络爬虫又名网络蜘蛛,蚂蚁(随你叫咯)。其实就是一种自动浏览网页并采集你所需要的信息的程序。

既然叫爬虫,那我就把他当虫子看。(没有为什么!)

★为什么需要爬虫

问我为什么?其实我好想说哪有那么多为什么!!!

 试想一下:
现在你正在做数据统计,你可以去百度谷歌出好多数据,然后把这些数据存到excel中去分析。
老板说只要三条数据。切、嗖 easy。
老板发现3条数据不能说明问题,涨到10条数据了。唉、好烦呐,多查一会吧。

老板说了“需要10000条数据,做到了就工资翻倍,没做到直接炒了。没有为什么!!!”。
纳尼?你告诉我要10000条数据?算了、你杀了我吧,我不干了。

这个时候如果有个人能帮你去找着10000条数据该有多好啊?(不用我说了,都知道爬虫能干嘛了吧)

★爬虫工作方式

1. 先给这只虫子一个洞口。
(需要给程序一个起始URL地址)
2. 虫子通过特异功能找到山洞中的通道并记下来(别问我为啥还有特异功能!)。
(程序会甄别出网页上的所有超链接)
3. 虫子按照一个固定的方式去这些通道中寻找食物。一旦找到就打包装起来,并且记下这个地方,以后就不来了。
(程序对所有访问或没访问过的链接会做一个存储,保证不会重复浪费时间或者陷入死循环)
4. 虫子找完所有的通道之后就背着食物满意地离开山洞了。
(程序完成任务了不退出还等什么?)
5. 恩...嘿嘿嘿,不去领双倍工资还等什么。

★爬虫的设计

有程序设计基础的朋友就会发现上面的操作其实都是通过一些简单的数据结构和逻辑操作就可以实现的。
这里提一些设计方面的关键点:
1. 对抓取目标的描述或定义。这直接决定了虫子会去识别那些洞口。
2. 对网页或数据的分析与过滤。决定了虫子的捕捉对象。
3. 搜索深度。理论上你不会让你的虫子去十万大山里面待上个十几二十年再爬出来吧。
4. 并行策略,直接决定了程序运行速度。如果你想让你的虫子生几个孩子和它一块抓,那你需要好好考虑下如何协同。
5. 资源库的设计。如果你不希望你的虫子们爬了半天,然后两手空空的回家了,那你最好考虑一下数据的保存。

你可能感兴趣的:(网络爬虫)