爬虫项目笔记
爬虫数据从哪里来?
传统的数据库、web日志信息,转移到HDFS/Hive/HBase等等中进行存储。
百度,google等等这些搜索引擎公司中为用户提供搜索服务的数据从哪里来?
获取互联网中海量数据的过程或者行为就是爬虫。
爬虫分为垂直爬虫;全网爬虫两种;
垂直爬虫:爬取一个网站各个分类的数据。
全网爬虫:爬取多个网站的数据。
①爬虫的基础架构:
数据下载:运用到httpclient下载技术,通过一个API接口来下载,模拟鼠标右键下载。
数据解析:数据解析技术分别有四种:
dom:最原始最基础需要将所有信息都加载到内存里对内存消耗比较大,如果XML文件比较大,容易影响解析的性能,可能会造成内存溢出。应用程序通过DOM接口,应用程序在任何时候都能访问XMLwendan文档中的任何数据,又称为随机访问机制;
sax:也是XML简单应用程序接口,与DOM不同访问模式是一直种顺序模式,是一种快速读写XML数据方式,当时用SAX解析时会触发一系列的事件并激发一系列事件处理函数应用程式通过这些处理函数实现对XML 文档的访问,事件驱动接口。
采用事件驱动模式对内存消耗比较小,只适用于处理XML文件。但是编码比较麻烦,很难同时访问XML 文件处的不同数据。
jdom :仅仅使用的是具体类而不是使用接口。API大量使用Collections类。
dom4j :JDOM的一种智能分支,合并了许多超出基本XML文档表现功能,使用接口和抽象基本类方法。具有性能优化,灵活性好,,功能强大和极端易用的,是一个开放源码文件。
xpath:使用正则的方式在网页上提取。
本爬虫运用的是xpath+htmlcleaner
数据存储:MySQL HBASE es
②爬虫的升级架构: