- 網(wǎng)絡(luò)數(shù)據(jù)采集技術(shù):Java網(wǎng)絡(luò)爬蟲實戰(zhàn)
- 錢洋等
- 12字
- 2020-09-29 15:49:45
第1章 網(wǎng)絡(luò)爬蟲概述與原理
1.1 網(wǎng)絡(luò)爬蟲簡介
隨著互聯(lián)網(wǎng)的迅速發(fā)展,網(wǎng)絡(luò)數(shù)據(jù)資源呈爆炸式增長,信息需求者如何從網(wǎng)絡(luò)中提取信息變得更加重要。如今,有效地獲取網(wǎng)絡(luò)數(shù)據(jù)資源的方式,便是網(wǎng)絡(luò)爬蟲。網(wǎng)絡(luò)爬蟲(Web Crawler)又稱為網(wǎng)絡(luò)蜘蛛(Web Spider)或Web信息采集器,是一種按照指定規(guī)則,自動抓取或下載網(wǎng)絡(luò)資源的計算機(jī)程序或自動化腳本。
對網(wǎng)絡(luò)爬蟲狹義上的理解:利用標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議(如HTTP、HTTPS等),根據(jù)網(wǎng)絡(luò)超鏈接和信息檢索方法(如深度優(yōu)先)遍歷網(wǎng)絡(luò)數(shù)據(jù)的軟件程序。
對網(wǎng)絡(luò)爬蟲功能上的理解:確定待采集的URL隊列,獲取每個URL對應(yīng)的網(wǎng)頁內(nèi)容(如HTML和JSON等),根據(jù)用戶要求解析網(wǎng)頁中的字段(如標(biāo)題),并存儲解析得到的數(shù)據(jù)。
網(wǎng)絡(luò)爬蟲技術(shù)在搜索引擎中扮演著信息采集器的角色,是搜索引擎模塊中的最基礎(chǔ)的部分。例如,我們常用的搜索引擎Google、百度、必應(yīng)(Bing)都采用網(wǎng)頁爬蟲技術(shù)采集海量的互聯(lián)網(wǎng)數(shù)據(jù)。圖1.1展示了搜索引擎的大致結(jié)構(gòu)。第一步,利用網(wǎng)絡(luò)爬蟲技術(shù)自動化地采集互聯(lián)網(wǎng)中的網(wǎng)頁信息。第二步,存儲采集的信息。在存儲過程中,往往需要檢測重復(fù)內(nèi)容,從而避免大量重復(fù)信息的采集;同時,網(wǎng)頁之間的鏈接關(guān)系也需要存儲,原因是鏈接關(guān)系可用來計算網(wǎng)頁內(nèi)容的重要性。第三步,數(shù)據(jù)預(yù)處理操作,即提取文字、分詞、消除噪音以及鏈接關(guān)系計算等。第四步,對預(yù)處理的數(shù)據(jù)建立索引庫,方便用戶快速查找,常用的索引方法有后綴數(shù)組、簽名文件和倒排文件。第五步,基于用戶檢索的內(nèi)容(如用戶輸入的關(guān)鍵詞),搜索引擎從網(wǎng)頁索引庫中查找符合該關(guān)鍵詞的所有網(wǎng)頁(結(jié)果集),通過對結(jié)果集的排序,將最相關(guān)的網(wǎng)頁返回給用戶。

圖1.1 搜索引擎大致結(jié)構(gòu)
另外,網(wǎng)絡(luò)爬蟲在其他方面也發(fā)揮著重要作用。
大數(shù)據(jù)環(huán)境下輿情分析與監(jiān)測:政府或企業(yè)基于網(wǎng)絡(luò)爬蟲技術(shù),采集論壇評論、在線博客、新聞媒體和微博等網(wǎng)站中的海量數(shù)據(jù),采用數(shù)據(jù)挖掘相關(guān)方法(如實體識別、詞頻統(tǒng)計、文本情感計算、主題識別與演化等),發(fā)掘輿情熱點、跟蹤目標(biāo)話題,并根據(jù)一定的標(biāo)準(zhǔn)采取相應(yīng)的輿情控制與引導(dǎo)措施。
大數(shù)據(jù)環(huán)境下的用戶分析:企業(yè)利用網(wǎng)絡(luò)爬蟲技術(shù),采集用戶基本信息、用戶對企業(yè)或商品的看法、觀點以及態(tài)度等數(shù)據(jù)、用戶之間的互動信息等。基于這些信息,企業(yè)可以對用戶進(jìn)行畫像,如用戶基本屬性畫像、用戶產(chǎn)品特征畫像、用戶互動特征畫像等,發(fā)掘用戶對產(chǎn)品的個性化偏好與需求。同樣,也可分析企業(yè)自身產(chǎn)品的優(yōu)勢和顧客反饋情況等。
科研需求:針對網(wǎng)絡(luò)大數(shù)據(jù)驅(qū)動、多源異構(gòu)數(shù)據(jù)驅(qū)動的科學(xué)研究,必然涉及網(wǎng)絡(luò)數(shù)據(jù)采集技術(shù)。例如,針對網(wǎng)絡(luò)中的多源異構(gòu)數(shù)據(jù)(如數(shù)字、文本、圖片和視頻等),如何更好地管理與存儲所采集的數(shù)據(jù)、如何進(jìn)行數(shù)據(jù)的過濾與融合、如何對數(shù)據(jù)的可用性進(jìn)行評估、如何將數(shù)據(jù)應(yīng)用到商業(yè)分析中等,都是目前研究的熱點問題。
- ThinkPHP 5實戰(zhàn)
- Learning Real-time Processing with Spark Streaming
- Getting Started with ResearchKit
- Python應(yīng)用輕松入門
- C++ 從入門到項目實踐(超值版)
- Learning Python by Building Games
- Mastering Linux Network Administration
- C程序設(shè)計實踐教程
- Natural Language Processing with Java and LingPipe Cookbook
- 從零開始學(xué)C#
- Illustrator CC平面設(shè)計實戰(zhàn)從入門到精通(視頻自學(xué)全彩版)
- Building Dynamics CRM 2015 Dashboards with Power BI
- Learning Jakarta Struts 1.2: a concise and practical tutorial
- Clojure High Performance Programming(Second Edition)
- Continuous Delivery and DevOps:A Quickstart Guide Second Edition