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

Python網絡爬蟲從入門到實踐(第2版)

( 簡體 字)
作者:唐 松 編著類別:1. -> 程式設計 -> Python
   2. -> 程式設計 -> 網路爬蟲
譯者:
出版社:機械工業出版社Python網絡爬蟲從入門到實踐(第2版) 3dWoo書號: 51310
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:6/1/2019
頁數:275
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111626879
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

近年來,大數據成為業界與學術界的熱門話題之一,數據已經成為每個公司極為重要的資產。互聯網上大量的公開數據為個人和公司提供了以往想象不到的可以獲取的數據量,而掌握網絡爬蟲技術可以幫助你獲取這些有用的公開數據集。

執筆本書的起因是我打算在知乎上寫博客向香港中文大學市場營銷學的研究生講解Python 網絡爬蟲技術,讓這些商科學生掌握一些大數據時代重要的技術。因此,本書除了面向技術人員外,還面向不懂編程的“小白”,希望能夠將網絡爬蟲學習的門檻降低,讓大家都能享受到使用網絡爬蟲編程的樂趣。過去的一年中,本書第1版幫助很多讀者開啟了Python和網絡爬蟲的世界,因此有幸獲得出版社的邀請,在之前版本的基礎上進行修改,更新書中的案例以及添加新的內容,形成第2版。
讀者對象

(1)對Python編程和網絡爬蟲感興趣的大專院校師生,需要獲取數據進行分析;

(2)打算轉行或入行爬蟲工程師、數據分析師、數據科學家的人士;

(3)需要使用網絡爬蟲技術自動獲取數據分析的各行業人士。

勘誤和支持

由于作者水平和能力有限,編寫時間倉促,不妥之處在所難免,希望讀者批評指正。本書的讀者QQ群為798652826,歡迎讀者加群交流。另外,也可以到我的博客www.santostang.com反饋意見,歡迎讀者和網絡爬蟲愛好者不吝賜教。

如何閱讀本書

本書分為17章。

第 1~7 章為基礎部分,主要介紹Python入門,Python網絡爬蟲的獲取網頁、解析網頁和存儲數據三個流程,以及Scrapy爬蟲框架。這部分每一章的最后都有自我實踐題,讀者可以通過實踐題熟悉Python 爬蟲代碼的編寫。

第 8~13 章為進階部分,主要介紹多線程和多進程爬蟲、反爬蟲、服務器爬蟲和分布式爬蟲等進階爬蟲技術,這部分為你在爬蟲實踐中遇到的問題提供了解決方案。

第 14~17章為項目實踐部分,每一章包含一個詳細的爬蟲案例,每個案例都覆蓋之前章節的知識,讓你在學習 Python 爬蟲后,可以通過在真實網站中練習來消化和吸收 Python爬蟲的知識。

本書幾乎每章都使用案例來學習Python網絡爬蟲,希望告訴讀者“通過實戰解決實際問題,才能高效地學習新知識”。手輸代碼,練習案例,才是學習Python和網絡爬蟲的有效方法。

致謝

首先感謝卞誠君老師在我寫書過程中給予的指導和幫助。沒有他的提議,我不會想到將自己的網絡爬蟲博客整理成一本書出版,更不會有本書的第2版。

從轉行數據分析,到申請去康奈爾大學讀書,再到回國做數據分析師,我在計算機技術和數據科學的道路上,得到了無數貴人的幫助和提攜。首先感謝劉建南教授帶我進入了數據挖掘的大門,無私地將數據挖掘、營銷知識和經驗傾囊相授,您是我的啟蒙老師,也是我一生的恩師。

感謝騰訊公司商業分析組和數據服務中心的各位同事,特別感謝我的組長張殿鵬和導師王歡,他們耐心地培養和教導我如何成為一名優秀的數據分析師,讓我放手去挑戰和嘗試不同項目,堅持將數據分析的成果落地。

感謝一路走來,支持我、幫助我的前輩和朋友,包括香港中文大學的教授和朋友——馬旭飛教授、李宜威博士、數據科學家周啟航、數據分析師趙作棟、數據分析師王禮斌以及好友孫成帥、張蓓等,康奈爾大學的同學——數據科學家湯心韻等、思路富邦有限公司總裁陳智銓、數據科學家吳嘉杰。尤其感謝IBM香港CTO戴劍寒博士、香港中文大學(深圳)校長講席教授賈建民博士、TalkingData騰云大學執行校長楊慧博士和DaoCloud首席架構師王天青在百忙中熱情地為本書寫推薦語。

感謝我的父母、妹妹和女朋友給我一貫的支持和幫助!

唐松

中國深圳
內容簡介:

使用 Python 編寫網絡爬蟲程序獲取互聯網上的大數據是當前的熱門專題。本書內容包括三部分:基礎部分、進階部分和項目實踐部分。基



礎部分(第1~7章)主要介紹爬蟲的三個步驟——獲取網頁、解析網頁和存儲數據,通過諸多示例的講解,讓讀者從基礎內容開始系統性地學



習爬蟲技術,并在實踐中提升 Python 爬蟲水平。進階部分(第8~13章)包括多線程的并發和并行爬蟲、分布式爬蟲、更換 IP等,幫助讀者



進一步提升爬蟲水平。項目實踐部分(第14~17章)使用本書介紹的爬蟲技術對幾個真實的網站進行抓取,讓讀者能在讀完本書后根據自己的



需求寫出爬蟲程序。

無論你是否有編程基礎,只要對爬蟲技術感興趣,本書就能帶領你從入門到實戰再到進階,一步步了解爬蟲,最終寫出自己的爬蟲程序。
目錄:

前言
第1章 網絡爬蟲入門 1
1.1 為什么要學網絡爬蟲 2
1.1.1 網絡爬蟲能帶來什么好處 2
1.1.2 能從網絡上爬取什么數據 3
1.1.3 應不應該學爬蟲 3
1.2 網絡爬蟲是否合法 3
1.2.1 Robots協議 4
1.2.2 網絡爬蟲的約束 5
1.3 網絡爬蟲的基本議題 6
1.3.1 Python爬蟲的流程 7
1.3.2 三個流程的技術實現 7
第2章 編寫第一個網絡爬蟲 9
2.1 搭建Python平臺 10
2.1.1 Python的安裝 10
2.1.2 使用pip安裝第三方庫 12
2.1.3 使用編輯器Jupyter 編程 13
2.1.4 使用編輯器Pycharm編程 15
2.2 Python 使用入門 18
2.2.1 基本命令 18
2.2.2 數據類型 19
2.2.3 條件語句和循環語句 21
2.2.4 函數 23
2.2.5 面向對象編程 24
2.2.6 錯誤處理 28
2.3 編寫第一個簡單的爬蟲 29
2.3.1 第一步:獲取頁面 29
2.3.2 第二步:提取需要的數據 30
2.3.3 第三步:存儲數據 32
2.4 Python實踐:基礎鞏固 33
2.4.1 Python基礎試題 34
2.4.2 參考答案 35
2.4.3 自我實踐題 38
第3章 靜態網頁抓取 39
3.1 安裝Requests 40
3.2 獲取響應內容 40
3.3 定制Requests 41
3.3.1 傳遞URL參數 41
3.3.2 定制請求頭 42
3.3.3 發送POST請求 43
3.3.4 超時 44
3.4 Requests爬蟲實踐:TOP250電影數據 44
3.4.1 網站分析 45
3.4.2 項目實踐 45
3.4.3 自我實踐題 47
第4章 動態網頁抓取 48
4.1 動態抓取的實例 49
4.2 解析真實地址抓取 50
4.3 通過Selenium模擬瀏覽器抓取 55
4.3.1 Selenium的安裝與基本介紹 55
4.3.2 Selenium的實踐案例 57
4.3.3 Selenium獲取文章的所有評論 58
4.3.4 Selenium的高級操作 61
4.4 Selenium爬蟲實踐:深圳短租數據 64
4.4.1 網站分析 64
4.4.2 項目實踐 66
4.4.3 自我實踐題 69
第5章 解析網頁 70
5.1 使用正則表達式解析網頁 71
5.1.1 re.match方法 71
5.1.2 re.search方法 74
5.1.3 re.findall方法 74
5.2 使用BeautifulSoup解析網頁 76
5.2.1 BeautifulSoup的安裝 76
5.2.2 使用BeautifulSoup獲取博客標題 77
5.2.3 BeautifulSoup的其他功能 78
5.3 使用lxml解析網頁 82
5.3.1 lxml的安裝 82
5.3.2 使用lxml獲取博客標題 82
5.3.3 XPath的選取方法 84
5.4 總結 85
5.5 BeautifulSoup爬蟲實踐:房屋價格數據 86
5.5.1 網站分析 86
5.5.2 項目實踐 87
5.5.3 自我實踐題 89
第6章 數據存儲 90
6.1 基本存儲:存儲至TXT或CSV 91
6.1.1 把數據存儲至TXT 91
6.1.2 把數據存儲至CSV 93
6.2 存儲至MySQL數據庫 94
6.2.1 下載安裝MySQL 95
6.2.2 MySQL的基本操作 99
6.2.3 Python操作MySQL數據庫 104
6.3 存儲至MongoDB數據庫 106
6.3.1 下載安裝MongoDB 107
6.3.2 MongoDB的基本概念 110
6.3.3 Python操作MongoDB數據庫 112
6.3.4 RoboMongo的安裝與使用 113
6.4 總結 115
6.5 MongoDB爬蟲實踐:虎撲論壇 116
6.5.1 網站分析 116
6.5.2 項目實踐 117
6.5.3 自我實踐題 123
第7章 Scrapy框架 124
7.1 Scrapy是什么 125
7.1.1 Scrapy架構 125
7.1.2 Scrapy數據流(Data Flow) 126
7.1.3 選擇Scrapy還是Requests+bs4 127
7.2 安裝Scrapy 128
7.3 通過Scrapy抓取博客 128
7.3.1 創建一個Scrapy項目 128
7.3.2 獲取博客網頁并保存 129
7.3.3 提取博客標題和鏈接數據 131
7.3.4 存儲博客標題和鏈接數據 133
7.3.5 獲取文章內容 134
7.3.6 Scrapy的設置文件 136
7.4 Scrapy爬蟲實踐:財經新聞數據 137
7.4.1 網站分析 137
7.4.2 項目實踐 138
7.4.3 自我實踐題 141
第8章 提升爬蟲的速度 142
8.1 并發和并行,同步和異步 143
8.1.1 并發和并行 143
8.1.2 同步和異步 143
8.2 多線程爬蟲 144
8.2.1 簡單的單線程爬蟲 145
8.2.2 學習Python多線程 145
8.2.3 簡單的多線程爬蟲 148
8.2.4 使用Queue的多線程爬蟲 150
8.3 多進程爬蟲 153
8.3.1 使用multiprocessing的多進程爬蟲 153
8.3.2 使用Pool + Queue的多進程爬蟲 155
8.4 多協程爬蟲 158
8.5 總結 160
第9章 反爬蟲問題 163
9.1 為什么會被反爬蟲 164
9.2 反爬蟲的方式有哪些 164
9.2.1 不返回網頁 165
9.2.2 返回非目標網頁 165
9.2.3 獲取數據變難 166
9.3 如何“反反爬蟲” 167
9.3.1 修改請求頭 167
9.3.2 修改爬蟲的間隔時間 168
9.3.3 使用代理 171
9.3.4 更換IP地址 172
9.3.5 登錄獲取數據 172
9.4 總結 172
第10章 解決中文亂碼 173
10.1 什么是字符編碼 174
10.2 Python的字符編碼 176
10.3 解決中文編碼問題 179
10.3.1 問題1:獲取網站的中文顯示亂碼 179
10.3.2 問題2:非法字符拋出異常 180
10.3.3 問題3:網頁使用gzip壓縮 181
10.3.4 問題4:讀寫文件的中文亂碼 182
10.4 總結 184
第11章 登錄與驗證碼處理 185
11.1 處理登錄表單 186
11.1.1 處理登錄表單 186
11.1.2 處理cookies,讓網頁記住你的登錄 190
11.1.3 完整的登錄代碼 193
11.2 驗證碼的處理 194
11.2.1 如何使用驗證碼驗證 195
11.2.2 人工方法處理驗證碼 197
11.2.3 OCR處理驗證碼 200
11.3 總結 203
第12章 服務器采集 204
12.1 為什么使用服務器采集 205
12.1.1 大規模爬蟲的需要 205
12.1.2 防止IP地址被封殺 205
12.2 使用動態IP撥號服務器 206
12.2.1 購買撥號服務器 206
12.2.2 登錄服務器 206
12.2.3 使用Python更換IP 208
12.2.4 結合爬蟲和更換IP功能 209
12.3 使用Tor代理服務器 210
12.3.1 Tor的安裝 211
12.3.2 Tor的使用 213
第13章 分布式爬蟲 218
13.1 安裝Redis 219
13.2 修改Redis配置 222
13.2.1 修改Redis密碼 222
13.2.2 讓Redis服務器被遠程訪問 222
13.2.3 使用Redis Desktop Manager管理 223
13.3 Redis分布式爬蟲實踐 223
13.3.1 安裝Redis庫 224
13.3.2 加入任務隊列 224
13.3.3 讀取任務隊列并下載圖片 225
13.3.4 分布式爬蟲代碼 226
13.4 總結 228
第14章 爬蟲實踐一:維基百科 229
14.1 項目描述 230
14.1.1 項目目標 230
14.1.2 項目描述 230
14.1.3 深度優先和廣度優先 232
14.2 網站分析 233
14.3 項目實施:深度優先的遞歸爬蟲 235
14.4 項目進階:廣度優先的多線程爬蟲 237
14.5 總結 241
第15章 爬蟲實踐二:知乎Live 242
15.1 項目描述 243
15.2 網站分析 243
15.3 項目實施 245
15.3.1 獲取所有Live 245
15.3.2 獲取Live的聽眾 248
15.4 總結 251
第16章 爬蟲實踐三:百度地圖API 252
16.1 項目描述 253
16.2 獲取API秘鑰 254
16.3 項目實施 255
16.3.1 獲取所有擁有公園的城市 257
16.3.2 獲取所有城市的公園數據 258
16.3.3 獲取所有公園的詳細信息 262
16.4 總結 266
第17章 爬蟲實踐四:暢銷書籍 267
17.1 項目描述 268
17.2 網站分析 268
17.3 項目實施 270
17.3.1 獲取亞馬遜的圖書銷售榜列表 270
17.3.2 獲取所有分類的銷售榜 274
17.3.3 獲取圖書的評論 276
17.4 總結 279
序: