-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
12/1 新書到! 11/25 新書到! 11/17 新書到! 11/11 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

網絡數據采集技術——Java網絡爬蟲實戰

( 簡體 字)
作者:錢洋,姜元春類別:1. -> 程式設計 -> 網路爬蟲
   2. -> 程式設計 -> JAVA -> Java
譯者:
出版社:電子工業出版社網絡數據采集技術——Java網絡爬蟲實戰 3dWoo書號: 52124
詢問書籍請說出此書號!

有庫存
NT售價: 395

出版日:1/1/2020
頁數:380
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121376078
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
作者序:

譯者序:

前言:

前言
近幾年,網絡空間大數據(Big Data)已成為各領域研究的熱門話題。在企業應用方面,天貓利用海量的用戶數據挖掘年輕消費者偏好,并將用戶偏好反饋給手機研發部門,將其用于手機設計;汽車之家利用平臺中用戶生成的大數據對用戶進行畫像,在此基礎上開展個性化營銷。在學術界,很多領域的學者針對大數據衍生出的新問題開展學術研究,如大數據驅動的客戶洞察、大數據驅動的個性化推薦、大數據驅動的管理決策等。
在網絡大數據環境下,數據采集尤為重要。因此,很多企業都提供了(高級)數據采集工程師的職位。對于很多在校大學生而言,尤其是碩士生和博士生,網絡數據采集是一項必備的技能。
在編寫本書之前,筆者主要從事數據采集系統的設計與開發工作。在CSDN 社區上,筆者撰寫過一系列介紹Java 網絡爬蟲的博客,這些博客為筆者的主頁帶來了不少訪問量;同時,也有許多博客讀者通過郵件的方式,向筆者咨詢網絡爬蟲相關的工具使用、程序調試等問題。為此,筆者對Java 網絡爬蟲所涉及的知識與技術進行了系統的梳理,并打算編寫一本關于Java 網絡爬蟲的書籍。在寫作過程中,筆者與具有豐富網絡爬蟲教學經驗的姜元春教授就寫作邏輯、介紹的知識點、使用的案例等多方面的內容進行了多次討論。本書的內容更加注重爬蟲理論、開發基礎與實戰演練。基于對本書爬蟲案例的研讀,讀者可以快速開發自己需要的其他網絡爬蟲程序。
本書的內容
本書分為9 章,具體內容如下所示。
第1 章至第3 章:這3 章重點介紹與網絡爬蟲開發相關的基礎知識,其中包括網絡爬蟲的原理、Java 基礎知識和HTTP 協議等內容。
第4 章至第6 章:這3 章分別從網頁內容獲取、網頁內容解析和網絡爬蟲數據存儲3 個方面介紹網絡爬蟲開發過程中所涉及的一系列技術。在這3 章中,涉及很多開源工具的使用,如Jsoup、HttpClient、HtmlCleaner、Fastjson、POI3 等。
第 7 章:本章利用具體的實戰案例,講解網絡爬蟲開發的流程。通過對本章的學習,讀者可以輕松開發Java 網絡爬蟲。
第8 章:針對一些復雜的頁面,如動態加載的頁面(執行JavaScript 腳本),本章介紹了一款實用的工具——Selenium WebDriver。
第9 章:本章重點介紹了3 種比較流行的Java 網絡爬蟲開源框架,即Crawler4j、WebCollector 和WebMagic。讀者可根據數據采集需求,自行開發支持多線程采集、斷點采集、代理切換等功能的網絡爬蟲項目。
本書的特色
注重基礎:俗話說,基礎不牢,地動山搖。本書從可讀性和實用性出發,重點介紹了網絡爬蟲中涉及的基礎知識。
系統性:本書系統地梳理了網絡爬蟲的邏輯和開發網絡爬蟲需要掌握的技術。對網絡爬蟲初學者和進階者而言,學習這些內容將有利于解決數據采集過程中遇到的各種問題。
詳細的案例講解:本書選取了較為典型的網站,講解網絡爬蟲經常遇到的問題,如HTTPS 請求認證問題、大文件內容獲取問題、模擬登錄問題、不同格式文件(文本、圖片和PDF 等)的存儲問題、定時數據采集問題等。
開源框架: 本書介紹了3 種Java 網絡爬蟲開源框架,即Crawler4j、WebCollector和WebMagic。通過對這3 種網絡爬蟲開源框架的學習,讀者可以輕松開發一些高性能的網絡爬蟲項目。
完整的代碼:為便于讀者學習,對于每個數據網絡爬蟲項目,筆者都提供了完整的代碼,并且在代碼中給出了清晰的注釋。
適合的讀者
Java 網絡爬蟲開發的初學者和進階者。
科研人員,尤其是從事網絡大數據驅動研究的碩士生和博士生。
開設相關課程的高等院校的師生。
企業網絡爬蟲開發人員。
說明
網絡爬蟲作為一項技術,更應該服務于社會。在使用該技術的過程中,應遵守Robots 協議(互聯網行業數據抓取的道德協議)。同時,需要注意對數據所涉及的知識產權和隱私信息進行保護。另外,采集數據時,需要注意禮貌,即不頻繁地請求網頁,以防止給數據提供者的服務器造成不良影響。在使用所采集的數據時,需要注意是否涉及商業利益和相關法律。最后,本書中所有使用的案例皆為測試案例,僅供讀者學習使用,本書中的URL 均做了處理。
基金項目
本書由國家自然科學基金重大項目課題“面向大數據的商務分析與計算方法以及支撐平臺研究(71490725)”、國家自然科學基金重大研究計劃子課題“面向商務領域的大數據資源池及集成示范平臺(91746302)”、國家自然科學基金優秀青年基金“個性化營銷理論與方法(71722010)”提供資助。
勘誤
由于筆者的水平有限,書中難免出現一些錯誤及不準確之處,懇請讀者批評指正。為及時更正書中不恰當的內容,筆者在CSDN 博客中創建了一個板塊,讀者可以將書中的問題以評論的方式進行反饋,筆者將針對這些問題進行勘誤。另外,也歡迎讀者通過發送電子郵件的方式,反饋書稿的問題。
致謝
感謝電子工業出版社的林瑞和編輯、合肥工業大學電子商務研究所的劉業政教授和孫見山副教授等給本書提出的寶貴建議。
感謝華為的杜非、王佳佳和王錦坤師兄的幫助,是他們將我帶入編程的世界。
感謝淮南師范學院的孫娜麗女士對整本書稿寫作語言的梳理。
感謝合肥工業大學電子商務研究所的朱婷婷、楊露、田志強、宋穎欣、張雪、李哲、賀菲菲、葉暢、陶守正、梁瑞誠等博士參與本書內容的討論。
最后,希望熱愛網絡爬蟲開發的小伙伴們能夠喜歡本書。
錢 洋
2019 年9 月
內容簡介:

本書以Java為開發語言,系統地介紹了網絡爬蟲的理論知識和基礎工具,包括網絡爬蟲涉及的Java基礎知識、HTTP協議基礎與網絡抓包、網頁內容獲取、網頁內容解析和網絡爬蟲數據存儲等。本書選取典型網站,采用案例講解的方式介紹網絡爬蟲中涉及的問題,以增強讀者的動手實踐能力。同時,本書還介紹了3種Java網絡爬蟲開源框架,即Crawler4j、WebCollector和WebMagic。本書適用于Java網絡爬蟲開發的初學者和進階者;也可作為網絡爬蟲課程教學的參考書,供高等院校文本挖掘、自然語言處理、大數據商務分析等相關學科的大學生和研究生參考使用;也可供企業網絡爬蟲開發人員參考使用。
目錄:

第1 章 網絡爬蟲概述與原理 .......... 1
1.1 網絡爬蟲簡介 ........... 1
1.2 網絡爬蟲分類 ........... 2
1.3 網絡爬蟲流程 ........... 4
1.4 網絡爬蟲的采集策略 ......... 5
1.5 學習網絡爬蟲的建議 ......... 5
1.6 本章小結 ............. 6
第2 章 網絡爬蟲涉及的Java 基礎知識 ....... 7
2.1 開發環境的搭建 ........... 7
2.1.1 JDK 的安裝及環境變量配置 ........ 7
2.1.2 Eclipse 的下載 .......... 9
2.2 基本數據類型 ........... 10
2.3 數組 ............. 11
2.4 條件判斷與循環 ........... 12
2.5 集合 ............. 15
2.5.1 List 和Set 集合 .......... 15
2.5.2 Map 集合 .......... 16
2.5.3 Queue 集合 ........... 17
2.6 對象與類 ........... 19
2.7 String 類 ............. 21
2.8 日期和時間處理 ........... 23
2.9 正則表達式 ........... 26
2.10 Maven 工程的創建 ......... 29
2.11 log4j 的使用 ............ 33
2.12 本章小結 ........... 40
第3 章 HTTP 協議基礎與網絡抓包 ....... 41
3.1 HTTP 協議簡介 .......... 41
3.2 URL ............. 42
3.3 報文 ............. 44
3.4 HTTP 請求方法 .......... 46
3.5 HTTP 狀態碼 ............ 46
3.5.1 狀態碼2XX .......... 47
3.5.2 狀態碼3XX .......... 47
3.5.3 狀態碼4XX .......... 48
3.5.4 狀態碼5XX .......... 48
3.6 HTTP 信息頭 ............ 48
3.6.1 通用頭 ............ 49
3.6.2 請求頭 ............ 52
3.6.3 響應頭 ............ 55
3.6.4 實體頭 ............ 56
3.7 HTTP 響應正文 .......... 57
3.7.1 HTML ........... 58
3.7.2 XML ........... 60
3.7.3 JSON ........... 61
3.8 網絡抓包 ........... 64
3.8.1 簡介 ............ 64
3.8.2 使用情境 .......... 65
3.8.3 瀏覽器實現網絡抓包 ......... 65
3.8.4 其他網絡抓包工具推薦 ......... 70
3.9 本章小結 ........... 70
第4 章 網頁內容獲取 .......... 71
4.1 Jsoup 的使用 ........... 71
4.1.1 jar 包的下載 ........... 71
4.1.2 請求URL ........... 72
4.1.3 設置頭信息 .......... 75
4.1.4 提交請求參數 .......... 78
4.1.5 超時設置 .......... 80
4.1.6 代理服務器的使用 ......... 81
4.1.7 響應轉輸出流(圖片、PDF 等的下載)..... 83
4.1.8 HTTPS 請求認證 ......... 85
4.1.9 大文件內容獲取問題 ......... 89
4.2 HttpClient 的使用 .......... 91
4.2.1 jar 包的下載 ........... 91
4.2.2 請求URL ........... 92
4.2.3 EntityUtils 類 .......... 97
4.2.4 設置頭信息 .......... 98
4.2.5 POST 提交表單 .......... 100
4.2.6 超時設置 .......... 103
4.2.7 代理服務器的使用 ......... 105
4.2.8 文件下載 .......... 106
4.2.9 HTTPS 請求認證 ......... 108
4.2.10 請求重試 .......... 111
4.2.11 多線程執行請求 ......... 114
4.3 URLConnection 與HttpURLConnection ...... 117
4.3.1 實例化 .......... 117
4.3.2 獲取網頁內容 .......... 118
4.3.3 GET 請求 .......... 118
4.3.4 模擬提交表單(POST 請求) ...... 119
4.3.5 設置頭信息 .......... 120
4.3.6 連接超時設置 .......... 121
4.3.7 代理服務器的使用 ......... 122
4.3.8 HTTPS 請求認證 ......... 122
4.4 本章小結 ........... 124
第5 章 網頁內容解析 .......... 125
5.1 HTML 解析 ........... 125
5.1.1 CSS 選擇器 .......... 125
5.1.2 Xpath 語法 .......... 127
5.1.3 Jsoup 解析HTML ........ 128
5.1.4 HtmlCleaner 解析HTML ....... 135
5.1.5 HTMLParser 解析HTML ........ 139
5.2 XML 解析 ........... 144
5.3 JSON 解析 ........... 145
5.3.1 JSON 校正 .......... 145
5.3.2 org.json 解析JSON ........ 147
5.3.3 Gson 解析JSON......... 152
5.3.4 Fastjson 解析JSON ........ 157
5.3.5 網絡爬蟲實戰演練 ......... 159
5.4 本章小結 ........... 165
第6 章 網絡爬蟲數據存儲 ......... 166
6.1 輸入流與輸出流 ........... 166
6.1.1 簡介 ............ 166
6.1.2 File 類 ........... 166
6.1.3 文件字節流 .......... 169
6.1.4 文件字符流 .......... 172
6.1.5 緩沖流 .......... 176
6.1.6 網絡爬蟲下載圖片實戰 ....... 180
6.1.7 網絡爬蟲文本存儲實戰 ....... 184
6.2 Excel 存儲 ........... 188
6.2.1 Jxl 的使用 ........... 188
6.2.2 POI 的使用 ........... 191
6.2.3 爬蟲案例 .......... 198
6.3 MySQL 數據存儲 ........... 202
6.3.1 數據庫的基本概念 ......... 203
6.3.2 SQL 語句基礎 .......... 203
6.3.3 Java 操作數據庫 .......... 207
6.3.4 爬蟲案例 .......... 217
6.4 本章小結 ........... 219
第7 章 網絡爬蟲實戰項目 ......... 220
7.1 新聞數據采集 ........... 220
7.1.1 采集的網頁 .......... 220
7.1.2 框架介紹 .......... 222
7.1.3 程序編寫 .......... 223
7.2 企業信息采集 ........... 235
7.2.1 采集的網頁 .......... 235
7.2.2 框架介紹 .......... 238
7.2.3 第一層信息采集......... 239
7.2.4 第二層信息采集......... 248
7.3 股票信息采集 ........... 256
7.3.1 采集的網頁 .......... 256
7.3.2 框架介紹 .......... 257
7.3.3 程序設計 .......... 258
7.3.4 Quartz 實現定時調度任務 ....... 267
7.4 本章小結 ........... 271
第8 章 Selenium 的使用 ......... 272
8.1 Selenium 簡介 ........... 272
8.2 Java Selenium 環境搭建 ......... 272
8.3 瀏覽器的操控 ........... 274
8.4 元素定位 ........... 276
8.4.1 id 定位 .......... 276
8.4.2 name 定位 ........... 277
8.4.3 class 定位 .......... 278
8.4.4 tag name 定位 ......... 278
8.4.5 link text 定位 .......... 278
8.4.6 Xpath 定位 .......... 279
8.4.7 CSS 選擇器定位 .......... 279
8.5 模擬登錄 ........... 280
8.6 動態加載JavaScript 數據(操作滾動條) ..... 283
8.7 隱藏瀏覽器 ........... 285
8.8 截取驗證碼 ........... 287
8.9 本章小結 ........... 291
第9 章 網絡爬蟲開源框架 ......... 292
9.1 Crawler4j 的使用 .......... 292
9.1.1 Crawler4j 簡介.......... 292
9.1.2 jar 包的下載 ......... 292
9.1.3 入門案例 .......... 293
9.1.4 相關配置 .......... 297
9.1.5 圖片的采集 .......... 300
9.1.6 數據采集入庫 .......... 304
9.2 WebCollector 的使用 .......... 312
9.2.1 WebCollector 簡介 ......... 312
9.2.2 jar 包的下載 ......... 313
9.2.3 入門案例 .......... 313
9.2.4 相關配置 .......... 318
9.2.5 HTTP 請求擴展.......... 319
9.2.6 翻頁數據采集 .......... 327
9.2.7 圖片的采集 .......... 331
9.2.8 數據采集入庫 .......... 334
9.3 WebMagic 的使用 ........... 347
9.3.1 WebMagic 簡介 .......... 347
9.3.2 jar 包的下載 ......... 347
9.3.3 入門案例(翻頁數據采集) ....... 347
9.3.4 相關配置 .......... 351
9.3.5 數據存儲方式 .......... 352
9.3.6 數據采集入庫 .......... 355
9.3.7 圖片的采集 .......... 365
9.4 本章小結 ........... 368
序: