我们平时做自然语言处理,机器学习,都是希望能够有丰富的训练数据集,这样才能获取质量上乘的模型。在大数据时代,处理数据已经不再是是问题了,spark,hadoop ,Elastic search提供了海量甚至巨量的分布式数据处理方法。问题是没有数据怎么办?在合理合法 的前提下自然语言处理 的语料和其他机器学习模型训练数据需要的图片等等各类数据,我们其实都是可以通过网络爬虫的方式进行积累的。
文章大纲
1. 网络爬虫
网络爬虫(Web Spider)又称网络蜘蛛、网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
网络爬虫按照系统结构和实现技术,大致可分为一下几种类型:
- 通用网络爬虫:就是尽可能大的网络覆盖率,如 搜索引擎(百度、雅虎和谷歌等…)。
- 聚焦网络爬虫:有目标性,选择性地访问万维网来爬取信息。
- 增量式网络爬虫:只爬取新产生的或者已经更新的页面信息。特点:耗费少,难度大
- 深层网络爬虫:通过提交一些关键字才能获取的Web页面,如登录或注册后访问的页面。
注:实际工作中通常是几种爬虫技术结合实现。
1.1 网络爬虫的合法性
网络爬虫及其使用时法律所允许的内容仍然处于建设当中。
爬虫所带来风险主要体现在以下3个方面:
1、违反网站意愿,例如网站采取反爬措施后,强行突破其反爬措施;
2、爬虫干扰了被访问网站的正常运营;
3、爬虫抓取了受到法律保护的