数据采集过程介绍
简介
网络数据多种多样、组成复杂,对于不同的目的有不同的利用价值和使用方式,所以网络数据的利用必须经过再次地采集和筛选过程,才能从庞大而又杂乱的数据中挖掘出有价值的数据。本文简单地介绍一下网络数据采集的过程,其中主要可以分为如下六个主要模块。
网站页面分析(AnalyseSite Page)
先进入目标网站,分析要爬取网页上的全部内容,主要目的是分析网站的结构,找到目标数据所在的位置,并设计好最高效的爬取方法。
链接抽取(Extract URL)
从网页的内容中抽取出备选链接。
链接过滤(Filt URL)
根据制定的过滤规则选择链接,并过滤掉已经爬取过的链接。
内容抽取(Extract Content)
从网页中抽取目标内容。
爬取URL队列(Crawl URL Queue)
为爬虫提供需要爬取的网页链接。
数据(Data)
包含三个方面
Site URL: 需要抓取数据网站的URL信息。
Spider URL: 已经抓取过数据的网页URL信息。
Spider Content: 经过抓取的网页内容。
数据的总体采集过程如下:
(1)先在URL队列中写入一个或多个目标链接作为爬虫爬取信息的起点。
(2)爬虫从URL队列中读取链接,并访问该网站。
(3)从网站中爬取内容。
(4)从网页内容中抽取出目标数据和所有URL链接。
(5)从数据库中读取已经抓取过内容的网页地址。
(6)过滤URL。将当前队列中的URL和已经抓取过的URL进行比较。
(7)如果该网页地址没有被抓取过,则将该地址(Spider URL)写入数据库,并访问该网站;如果该地址已经被抓取过,则放弃对这个地址的抓取操作。
(8)获取该地址的网页内容,并抽取出所需要属性的内容值。
(9)将抽取的网页内容写入数据库,并将抓取到的新链接加入到URL队列。
这些过程使我们可以通过一个网络入口经由网站间的相互链接关系爬取尽可能多的数据,比使用浏览器抓取数据的效率高得多。(有的时候,爬取数据不总是一件好事,很多网站就因为大量爬虫增加了服务器访问的负担而苦恼不已,实际应用中还可能会涉及版权和隐私等问题。爬虫虽好,但请慎用。)