看着下面的小奇和一张张求知若渴的表情,对未知充满了好奇,又想起当年的自己不也是这样吗,长老也是满脸的欣慰,继续开始自己的讲解,下面说说数据爬取的流程。
数据爬取主要分四个步骤:爬取对象准备-->页面数据抓取-->数据解析处理-->数据持久存储。
爬取对象准备:即数据爬取的入口,也就是我们要爬取的种子URL,把需要爬取的URL统一的放到一个指定的集合中等待分配爬取。
URL队列:在爬取一个页面的URL时,如果发现新的URL,重新放入到待爬取的URL队列中。
URL去重:对于放入的URL进行去重,如果队列中已经有该URL,则去除重复URL,避免重复爬取。
URL去重的方式:存储于内存或者缓存服务器中进行去重,常见的有布隆过滤,redis数据库去重等。
网页数据抓取: 网页数据抓取,即网页下载。通过网页抓取工具Jsoup,HttpClient等,下载URL队列中的目标网页,把下载的网页中需要的内容抓取出来进行处理。内容的处理的方式:1.无需存储,进行实时分析处理 ,2.需要存储,结构化分布式存储(hadoop分布式存储等)
数据解析处理:根据采集规则进行数据解析,主要是把非结构化数据转换为结构化数据。常用的解析工具: Xpath解析、Jsoup选择器解析、HtmlUtil动态解析、Selenium自动化工具等。
数据持久存储:数据持久存储主要是针对经过解析,去重,去燥,检索之后的结构化数据进行存储。
数据去燥:通过数据挖掘,把垃圾过滤掉,以保证数据可用性。
数据去重:判断数据在数据库中是否已经存在,进行数据去重。通常数据去重针对文本类型的数据,采用simhahs算法进行判断。
数据存储:对分析后的数据进行结构化处理,数据存储的三种方式:1.分布式nosql数据库(redis/mongdb/hbase),2.关系型分布式数据库(mysql/oracle等),3.索引存储(elasticsearch/solr等)等。
数据爬取流程图解:
“好了,基础理论知识就讲解到这里,接下来就会讲解网络爬虫技术的实战了,下去好好的巩固一下今天的知识,为下一次的学习做好准备”。说完,长老看了看小奇及一些意犹未尽的弟子,自顾离开了。
更多视频java爬虫视频课程:https://edu.youkuaiyun.com/course/detail/20623/258631