在如今的信息时代,网络爬虫是一个很普遍的技术,同时为了保护企业的核心利益,反爬虫也越来越重要。本文就网络爬虫和反爬虫等常见问题进行了简单介绍。
1.什么是网络爬虫?
网络爬虫(web crawler),也叫网络蜘蛛,是一种“自动化浏览网络”的程序,或者说是自动浏览万维网的网络机器人。网络爬虫广泛用于搜索引擎或其他类似网站,以获取或更新这些网站的内容和检索方式。网络爬虫可以自动采集所有能够访问到的页面内容,以快速获取所需要的信息。
2.网络爬虫工作原理是什么?
网络爬虫一般分为如下两个阶段:第一阶段,URL库初始化然后开始爬取;第二阶段,爬虫读取没有访问过的URL,来确定它的工作范围。对于所要抓取的URL,具体步骤如下:
(1)获取URL链接;
(2)解析内容,获取URLj~相关数据;
(3)存储有价值的数据;
(4)对新抓取的RL进行规范化;
(5)过滤掉不相关的URL;
(6)将要抓取的URL更新到URL库中;
(7)重复步骤2,直到终止条件为止。
3.爬虫实现策略包括哪些?
爬虫实现需要设定有效的规则和策略从繁杂无序的页面中提取中需要的关键信息:
指定初始URL选择策略;
检测页面是否更新的重新访问策略;
定义如何避免网站过度访问的约定性策略;
如何部署分布式网络爬虫的并行策略。
网络爬虫主要爬取策略有:深度优先策略、宽度优先策略等等。
4.一个典型的网络爬虫系统组成包括哪些?
网络爬虫本质是是互联网资源的抓取、分析、过滤、存储的过程,一个典型的网络爬虫系统组成主要有控制器,解析器,资源库三部分组成。控制器负责给多线程中的各个爬虫线程分配工作任务。解析器的主要工作是下载网页,进行页面的处理。资源库是用来存放下载到的网页资源,一般都采用大型的数据库存储,如Oracle数据库,并对其建立索引。
4.网络爬虫有什么危害?
网络爬虫短时间内发出大量请求,消耗大量的服务器带宽,可能会影响正常用户访问。另外,数据已成为一个公司的核心资产,企业需要保护自身的核心数据,以维持或提升自身的核心竞争力,因此反爬虫非常重要。
5.常见的反爬虫技术手段有哪些?
常见的反爬虫手段包括统计IP访问限制、单个session访问量以及单个User-agent的访问,基于网站流量统计和日志分析反爬虫,通过Headers反爬虫,添加验证码限制等。
更多反爬虫技术手段可以通过以下文章了解:
参考文献:
《网络爬虫》,林雄强
《大数据时代的反爬虫技术》,陈利婷
Castillo, Carlos. Effective Web Crawling (Ph.D.论文). University of Chile. 2004 [2010-08-03].