网络爬虫学习(1)
前段时间看了一部关于科技与创业的电影——社交网络,除了感觉到一个好的idea对于高科技行业的重要性之外,还有一点给我留下了较深的影响,就是主人公与自己的团队收集学生信息的场景。而如今大数据已成为热词,但是像社交网络里学生的信息数据到底是通过什么途径得到的呢?
为了找出问题的答案,利用百度搜索找到了部分解释: 由于网络的开放性,来自世界各个地方的人们能在任意时间利用互联网发表或者提出自己的信息,而为了方便这些数据的采集,于是人们制造了一个能够自动收集网络信息的机器人,也就是网络爬虫。
也是这个偶然的机会,让我对网络爬虫产生了不小的兴趣,顺便记录下学习的脚印。
网络爬虫一词最早产生于90年代,英文翻译为web crawler,是指收集互联网各个节点数据的工具,由于互联网的拓扑结构与蜘蛛网很像,因此网络爬虫也被称为网络蜘蛛,这也是搜索引擎的核心技术之一。
爬虫主要包括两部分,一个是数据采集,另一个是数据处理,包括分析、筛选过滤以及分类排序等。具体来说,首先爬虫需要进行从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,然后在根据URL的页面的信息进行分析。
但是由于网络节点较多、分布情况较为复杂,并且网页上的信息也是不固定的,因此其中要进行的操作很多,涉及到节点的遍历、信息的编码与标记、分词算法等。
为了更好地了解网络爬虫的学习内容,本次了解了网络爬虫要解决的几个问题。
1)爬取的目标搜索策略
网络爬虫的目标就是互联网分布的网络节点,而这些节点的访问是以网页URL为入口的。然而根据节点搜索策略又可以分为通用爬虫和聚焦爬虫,为了方便自己学习入门,这里学习的主要是通用爬虫,即不考虑节点之间的权值效应,采用权值相等的广度搜索算法来获取目标URL。
2)网页信息的提取
经过爬取之后,有部分数据才是想要提取的,所以这里需要爬虫对爬取的内容进行筛选、提炼。