会员   密码 您忘记密码了吗?
1,583,363 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

浏览历史

当前位置: 首页 > 简体书 > 從零開始學Scrapy網路爬蟲(視頻教學版)
從零開始學Scrapy網路爬蟲(視頻教學版)
上一张
下一张
prev next

從零開始學Scrapy網路爬蟲(視頻教學版)

作者: 張濤
出版社: 機械工業出版社
出版日期: 2019-09-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT594.00
市场价格: RM106.79
本店售价: RM95.04
促销价: RM89.70
剩余时间: 请稍等, 正在载入中...
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

本書從零開始,循序漸進地介紹了目前最流行的網路爬蟲框架Scrapy。本書共13章。其中第1~4章為基礎篇,介紹了Python基礎、網路爬蟲基礎、Scrapy框架及基本的爬蟲功能。第5~10章為進階篇,介紹了如何將爬蟲數據存儲於MySQL、MongoDB和Redis數據庫中;如何實現非同步的Ajax數據的爬取;如何使用Selenium和Splash實現動態網站的爬取;如何實現模擬登錄功能;如何突破反爬蟲技術,以及如何實現檔和圖片的下載。第11~13章為高級篇,介紹了使用Scrapy-Redis實現分散式爬蟲;使用Scrapyd和Docker部署分散式爬蟲;使用Gerapy管理分散式爬蟲,並實現了一個搶票軟體的綜合專案。

本書適合爬蟲初學者、爬蟲愛好者及高校相關學生,也適合數據爬蟲工程師作為參考讀物,同時也適合各大院校和培訓機構作為教材使用。


作者介紹

張濤

畢業于中國科學技術大學,獲碩士學位。目前在科大訊飛從事人工智慧教育培訓與研究。加入科大訊飛之前,曾經在知名日資企業任職研發經理,負責日本大型證券系統的設計與開發。有7年大學課程改革與教學經驗,主要研究方向為Python網路爬蟲、資料分析和機器學習。


目錄

第1篇  基礎篇
第1章  Python基礎 2
1.1  Python簡介 2
1.1.1  Python簡史 2
1.1.2  搭建Python環境 3
1.1.3  安裝PyCharm整合式開發環境 6
1.2  Python基本語法 7
1.2.1  基底資料型別和運算 7
1.2.2  運算子和運算式 8
1.2.3  條件判斷語句 9
1.2.4  迴圈語句 10
1.2.5  字串 12
1.3  Python內置資料結構 14
1.3.1  列表 15
1.3.2  字典 16
1.3.3  元組 17
1.3.4  遍歷物件集合 17
1.4  Python模組化設計 18
1.4.1  函數 18
1.4.2  反覆運算器(iterator) 20
1.4.3  生成器(Generator) 20
1.4.4  類和對象 22
1.4.5  文件與異常 23
1.5  本章小結 25
第2章  網路爬蟲基礎 26
2.1  HTTP基本原理 26
2.1.1  URL介紹 27
2.1.2  HTTP和HTTPS協議 27
2.1.3  HTTP請求(Request) 27
2.1.4  HTTP回應(Response) 30
2.2  網頁基礎 32
2.2.1  HTML文檔 33
2.2.2  網頁的結構 33
2.2.3  節點樹及節點之間的關係 34
2.3  使用XPath提取網頁資訊 36
2.3.1  XPath介紹 36
2.3.2  XPath常用路徑運算式 36
2.3.3  XPath帶謂語的路徑運算式 39
2.4  本章小結 40
第3章  Scrapy框架介紹 41
3.1  網路爬蟲原理 41
3.1.1  爬蟲執行的流程 41
3.2  Scrapy框架結構及執行流程 42
3.2.1  Scrapy框架結構 42
3.2.2  Scrapy執行流程 44
3.3  Scrapy安裝 44
3.3.1  使用pip安裝Scrapy 44
3.3.2  常見安裝錯誤 45
3.3.3  驗證安裝 46
3.4  第一個網路爬蟲 46
3.4.1  需求分析 46
3.4.2  創建項目 47
3.4.3  分析頁面 48
3.4.4  實現Spider爬蟲功能 49
3.4.5  運行爬蟲 50
3.4.6  常見問題 51
3.5  本章小結 52
第4章  Scrapy網路爬蟲基礎 53
4.1  使用Spider提取資料 53
4.1.1  Spider組件介紹 53
4.1.2  重寫start_requests()方法 55
4.1.3  Request對象 57
4.1.4  使用選擇器提取資料 58
4.1.5  Response對象與XPath 59
4.1.6  Response對象與CSS 61
4.1.7  進一步瞭解Response物件 62
4.1.8  多頁數據的爬取 63
4.2  使用Item封裝資料 64
4.2.1  定義Item和Field 65
4.2.2  使用ItemLoader填充容器 66
4.3  使用Pipeline處理資料 69
4.3.1  Item Pipeline介紹 70
4.3.2  編寫自己的Item Pipeline 70
4.3.3  啟用Item Pipeline 71
4.3.4  多個Item Pipeline 71
4.3.5  保存為其他類型文件 72
4.4  項目案例:爬取鏈家網二手房信息 75
4.4.1  專案需求 75
4.4.2  技術分析 76
4.4.3  代碼實現及解析 77
4.5  本章小結 85

第2篇  進階篇
第5章  資料庫存儲 88
5.1  MySQL資料庫 88
5.1.1  關係型數據庫概述 88
5.1.2  下載和安裝MySQL資料庫 88
5.1.3  資料庫管理工具Navicat 92
5.1.4  Python訪問MySQL資料庫 94
5.1.5  項目案例 97
5.2  MongoDB資料庫 100
5.2.1  NoSQL概述 100
5.2.2  MongoDB介紹 100
5.2.3  MongoDB的下載和安裝 101
5.2.4  Python訪問MongoDB資料庫 102
5.2.5  項目案例 108
5.3  Redis資料庫 111
5.3.1  Redis的下載和安裝 111
5.3.2  Python訪問Redis 113
5.3.3  項目案例 118
5.4  本章小結 121
第6章  JavaScript與AJAX數據爬取 122
6.1  JavaScript簡介 122
6.2  項目案例:爬取QQ音樂榜單歌曲 122
6.2.1  專案需求 122
6.2.2  技術分析 123
6.2.3  代碼實現及解析 126
6.2.4  更常見的動態網頁 128
6.3  AJAX簡介 129
6.4  項目案例:爬取豆瓣電影資訊 130
6.4.1  專案需求 130
6.4.2  技術分析 130
6.4.3  代碼實現及解析 133
6.5  本章小結 135
第7章  動態渲染頁面的爬取 136
7.1  Selenium實現動態頁面爬取 136
7.1.1  Selenium安裝 136
7.1.2  Selenium簡單實現 137
7.1.3  Selenium語法 138
7.2  項目案例:爬取今日頭條熱點新聞 145
7.2.1  專案需求 145
7.2.2  技術分析 145
7.2.3  代碼實現及解析 147
7.3  Splash實現動態頁面爬取 151
7.3.1  Splash介紹 151
7.3.2  Splash環境搭建 152
7.3.3  Splash模組介紹 156
7.4  項目案例:爬取一號店中的iPhone手機資訊 162
7.4.1  專案需求 162
7.4.2  技術分析 163
7.4.3  代碼實現及解析 165
7.5  本章小結 168
第8章  模擬登錄 169
8.1  模擬登錄解析 169
8.1.1  登錄過程解析 169
8.1.2  模擬登錄的實現 171
8.2  驗證碼識別 174
8.2.1  使用OCR識別驗證碼 174
8.2.2  處理複雜驗證碼 176
8.2.3  五花八門的驗證碼 177
8.3  Cookie自動登錄 177
8.3.1  Cookie介紹 178
8.3.2  獲取Cookie的庫—browsercookie 179
8.4  項目案例:爬取起點中文網某使用者的書架資訊 180
8.4.1  專案需求 180
8.4.2  技術分析 180
8.4.3  代碼實現及解析 182
8.5  本章小結 184
第9章  突破反爬蟲技術 185
9.1  反爬蟲技術及突破措施 185
9.2  偽裝成不同的流覽器 187
9.2.1  UserAgentMiddleware中介軟體介紹 187
9.2.2  實現偽裝成隨機流覽器 188
9.2.3  更簡單的方法 191
9.3  使用HTTP代理伺服器 192
9.3.1  HTTP代理伺服器 192
9.3.2  獲取免費代理 193
9.3.3  實現隨機代理 199
9.4  本章小結 202
第10章  檔和圖片下載 203
10.1  文件下載 203
10.1.1  FilesPipeline執行流程 203
10.2  項目案例:爬取seaborn案例原始檔案 204
10.2.1  專案需求 204
10.2.2  技術分析 206
10.2.3  代碼實現及解析 206
10.2.4  更多功能 211
10.3  圖片下載 212
10.4  項目案例:爬取攝圖網圖片 213
10.4.1  專案需求 213
10.4.2  技術分析 215
10.4.3  代碼實現及解析 215
10.5  本章小結 221

第3篇  高級篇
第11章  Scrapy-Redis實現分散式爬蟲 224
11.1  分散式爬蟲原理 224
11.2  Scrapy-Redis實現分散式爬蟲分析 225
11.2.1  實現分散式爬蟲思路 225
11.2.2  Scrapy-Redis代碼解析 226
11.2.3  分散式爬蟲功能配置 231
11.3  項目案例:分散式爬蟲爬取攝圖網圖片 233
11.3.1  技術分析 233
11.3.2  代碼實現及解析 234
11.4  本章小結 237
第12章  Scrapyd部署分散式爬蟲 238
12.1  使用Scrapyd部署分散式爬蟲 238
12.1.1  Scrapyd的安裝及運行 238
12.1.2  Scrapyd功能介紹 241
12.2  使用Scrapyd-Client批量部署 244
12.3  使用Docker部署分散式爬蟲 248
12.4  使用Gerapy管理分散式爬蟲 253
12.5  本章小結 258
第13章  綜合專案:搶票軟體的實現 259
13.1  專案需求 259
13.2  技術分析 262
13.3  項目實現及解析 263
13.3.1  搭建Scrapy項目框架 263
13.3.2  實現獲取網站資訊的爬蟲 264
13.3.3  實現網站處理類 266
13.3.4  實現購票類 267
13.3.5  實現購票功能 280
13.3.6  運行項目 282
13.3.7  優化項目 282
13.4  本章小結 283