定义:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
由于专门用于检索信息的“机器人”程序象蜘蛛一样在网络间爬来爬去,因此,搜索引擎的“机器人”程序就被称为“蜘蛛”程序。
爬虫的由来
随着网络的发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。
爬虫的定义
网络爬虫,即Web Spider,把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛就是通过网页的链接地址来寻找网页的。如果把互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。这样看来,网络爬虫就是一个爬行程序,一个抓取网页的程序,网络爬虫的基本操作就是抓取网页。
爬虫的意义
*爬取数据 *机器学习 *分析并推送 *网络爬虫 *资源批量下载 *建立机器翻译的语料库
*数据监控 *搭建大数据的数据库 *社会计算方面的统计和预测
爬虫的作用
1、搜索引擎 - 百度,Google,垂直领域搜索引擎
2、推荐引擎 - 今日头条
3、机器学习的数据样本
4、数据分析(如金融数据分析)、舆情分析等
通用爬虫与聚焦爬虫的区别
*通用爬虫:目标、流程(爬取网页 - 存储数据 - 内容处理 - 提供检索/排名服务)、遵循Robots协议
*聚焦爬虫:是"面向特定主题需求"的一种网络爬虫程序,与通用搜索引擎爬虫的区别在于,聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取需求相关的网页信息。
各类爬虫框架比较
1、如果是定向爬取几个页面,做一些简单的页面解析,爬取效率不是核心要求,那么用什么语言差异不大
2、如果是定向爬取,且主要目标是解析js动态生成的内容
3、如果爬虫是涉及大规模网站爬取,效率、扩展性、可维护性等是必须考虑的因素

为什么Python适合写爬虫
1、抓取网页本身的接口
2、对数据库的操作能力(mysql,mongo等)
3、爬取效率
4、代码量
5、对页面解析能力
6、网页抓取后的处理(去重,过滤,清洗,保存)