注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計Python網絡爬蟲從入門到精通

Python網絡爬蟲從入門到精通

Python網絡爬蟲從入門到精通

定 價:¥99.80

作 者: 明日科技
出版社: 清華大學出版社
叢編項:
標 簽: Python 程序設計 計算機/網絡

購買這本書可以去


ISBN: 9787302567004 出版時間: 2021-06-01 包裝: 平裝-膠訂
開本: 16開 頁數: 字數:  

內容簡介

  《Python網絡爬蟲從入門到精通》從初學者角度出發(fā),通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用Python實現網絡爬蟲開發(fā)應該掌握的技術。全書共分19章,內容包括初識網絡爬蟲、了解Web前端、請求模塊urllib、請求模塊urllib3、請求模塊requests、高級網絡請求模塊、正則表達式、XPath解析、解析數據的BeautifulSoup、爬取動態(tài)渲染的信息、多線程與多進程爬蟲、數據處理、數據存儲、數據可視化、App抓包工具、識別驗證碼、Scrapy爬蟲框架、Scrapy_Redis分布式爬蟲、數據偵探。書中所有知識都結合具體實例進行介紹,涉及的程序代碼給出了詳細的注釋,讀者可輕松領會網絡爬蟲程序開發(fā)的精髓,快速提高開發(fā)技能。

作者簡介

  明日科技,全稱是吉林省明日科技有限公司,是一家專業(yè)從事軟件開發(fā)、教育培訓以及軟件開發(fā)教育資源整合的高科技公司,其編寫的教材非常注重選取軟件開發(fā)中的必需、常用內容,同時也很注重內容的易學、方便性以及相關知識的拓展性,深受讀者喜愛。其教材多次榮獲“全行業(yè)優(yōu)秀暢銷品種”“全國高校出版社優(yōu)秀暢銷書”等獎項,多個品種長期位居同類圖書銷售排行榜的前列。

圖書目錄

第1篇 基礎知識
第1章 初識網絡爬蟲 2
1.1 網絡爬蟲概述 2
1.2 網絡爬蟲的分類 2
1.3 網絡爬蟲的基本原理 3
1.4 搭建開發(fā)環(huán)境 4
1.4.1 安裝Anaconda 4
1.4.2 PyCharm的下載與安裝 7
1.4.3 配置PyCharm 9
1.4.4 測試PyCharm 13
1.5 小結 15
第2章 了解Web前端 16
2.1 HTTP基本原理 16
2.1.1 HTTP協(xié)議 16
2.1.2 HTTP與Web服務器 16
2.1.3 瀏覽器中的請求和響應 18
2.2 HTML語言 19
2.2.1 什么是HTML 19
2.2.2 標簽、元素、結構概述 19
2.2.3 HTML的基本標簽 21
2.3 CSS層疊樣式表 22
2.3.1 CSS概述 22
2.3.2 屬性選擇器 23
2.3.3 類和ID選擇器 24
2.4 JavaScript動態(tài)腳本語言 24
2.5 小結 27
第3章 請求模塊urllib 28
3.1 urllib簡介 28
3.2 使用urlopen()方法發(fā)送請求 28
3.2.1 發(fā)送GET請求 29
3.2.2 發(fā)送POST請求 30
3.2.3 設置網絡超時 31
3.3 復雜的網絡請求 32
3.3.1 設置請求頭 32
3.3.2 Cookies的獲取與設置 34
3.3.3 設置代理IP 39
3.4 異常處理 40
3.5 解析鏈接 41
3.5.1 拆分URL 42
3.5.2 組合URL 43
3.5.3 連接URL 44
3.5.4 URL的編碼與解碼 45
3.5.5 URL參數的轉換 46
3.6 小結 47
第4章 請求模塊urllib3 48
4.1 urllib3簡介 48
4.2 發(fā)送網絡請求 49
4.2.1 GET請求 49
4.2.2 POST請求 50
4.2.3 重試請求 51
4.2.4 處理響應內容 51
4.3 復雜請求的發(fā)送 53
4.3.1 設置請求頭 53
4.3.2 設置超時 54
4.3.3 設置代理 55
4.4 上傳文件 56
4.5 小結 57
第5章 請求模塊requests 58
5.1 請求方式 58
5.1.1 GET請求 59
5.1.2 對響應結果進行utf-8編碼 59
5.1.3 爬取二進制數據 60
5.1.4 GET(帶參)請求 61
5.1.5 POST請求 62
5.2 復雜的網絡請求 63
5.2.1 添加請求頭headers 63
5.2.2 驗證Cookies 64
5.2.3 會話請求 65
5.2.4 驗證請求 66
5.2.5 網絡超時與異常 67
5.2.6 上傳文件 68
5.3 代理服務 69
5.3.1 代理的應用 69
5.3.2 獲取免費的代理IP 70
5.3.3 檢測代理IP是否有效 71
5.4 小結 72
第6章 高級網絡請求模塊 73
6.1 Requests-Cache的安裝與測試 73
6.2 緩存的應用 74
6.3 強大的Requests-HTML模塊 76
6.3.1 使用Requests-HTML實現網絡請求 76
6.3.2 數據的提取 78
6.3.3 獲取動態(tài)加載的數據 82
6.4 小結 85
第2篇 核心技術
第7章 正則表達式 88
7.1 正則表達式基礎 88
7.1.1 行定位符 88
7.1.2 元字符 89
7.1.3 限定符 89
7.1.4 字符類 90
7.1.5 排除字符 90
7.1.6 選擇字符 90
7.1.7 轉義字符 91
7.1.8 分組 91
7.1.9 在Python中使用正則表達式語法 91
7.2 使用match()進行匹配 92
7.2.1 匹配是否以指定字符串開頭 93
7.2.2 匹配任意開頭的字符串 94
7.2.3 匹配多個字符串 94
7.2.4 獲取部分內容 94
7.2.5 匹配指定首尾的字符串 95
7.3 使用search()進行匹配 95
7.3.1 獲取匹配值 96
7.3.2 可選匹配 96
7.3.3 匹配字符串邊界 97
7.4 使用findall()進行匹配 97
7.4.1 匹配所有指定字符開頭字符串 98
7.4.2 貪婪匹配 98
7.4.3 非貪婪匹配 99
7.5 字符串處理 100
7.5.1 替換字符串 100
7.5.2 分割字符串 101
7.6 案例:爬取編程e學網視頻 102
7.6.1 查找視頻頁面 102
7.6.2 分析視頻地址 103
7.6.3 實現視頻下載 105
7.7 小結 105
第8章 XPath解析 106
8.1 XPath概述 106
8.2 XPath的解析操作 107
8.2.1 解析HTML 107
8.2.2 獲取所有節(jié)點 109
8.2.3 獲取子節(jié)點 110
8.2.4 獲取父節(jié)點 112
8.2.5 獲取文本 112
8.2.6 屬性匹配 113
8.2.7 獲取屬性 115
8.2.8 按序獲取 116
8.2.9 節(jié)點軸獲取 117
8.3 案例:爬取豆瓣電影Top 250 118
8.3.1 分析請求地址 118
8.3.2 分析信息位置 119
8.3.3 爬蟲代碼的實現 120
8.4 小結 121
第9章 解析數據的BeautifulSoup 122
9.1 使用BeautifulSoup解析數據 122
9.1.1 BeautifulSoup的安裝 122
9.1.2 解析器 123
9.1.3 BeautifulSoup的簡單應用 124
9.2 獲取節(jié)點內容 125
9.2.1 獲取節(jié)點對應的代碼 125
9.2.2 獲取節(jié)點屬性 126
9.2.3 獲取節(jié)點包含的文本內容 127
9.2.4 嵌套獲取節(jié)點內容 128
9.2.5 關聯獲取 129
9.3 方法獲取內容 133
9.3.1 find_all()獲取所有符合條件的內容 133
9.3.2 find()獲取個匹配的節(jié)點內容 136
9.3.3 其他方法 137
9.4 CSS選擇器 137
9.5 小結 140
第10章 爬取動態(tài)渲染的信息 141
10.1 Ajax數據的爬取 141
10.1.1 分析請求地址 141
10.1.2 提取視頻標題與視頻地址 144
10.1.3 視頻的批量下載 145
10.2 使用Selenium爬取動態(tài)加載的信息 146
10.2.1 安裝Selenium模塊 146
10.2.2 下載瀏覽器驅動 147
10.2.3 Selenium模塊的使用 147
10.2.4 Selenium模塊的常用方法 149
10.3 Splash的爬蟲應用 150
10.3.1 搭建Splash環(huán)境(Windows 10系統(tǒng)) 150
10.3.2 搭建Splash環(huán)境(Windows 7系統(tǒng)) 153
10.3.3 Splash中的HTTP API 156
10.3.4 執(zhí)行l(wèi)ua自定義腳本 159
10.4 小結 160
第11章 多線程與多進程爬蟲 161
11.1 什么是線程 161
11.2 創(chuàng)建線程 161
11.2.1 使用threading模塊創(chuàng)建線程 162
11.2.2 使用Thread子類創(chuàng)建線程 163
11.3 線程間通信 163
11.3.1 什么是互斥鎖 165
11.3.2 使用互斥鎖 165
11.3.3 使用隊列在線程間通信 167
11.4 什么是進程 169
11.5 創(chuàng)建進程的常用方式 169
11.5.1 使用multiprocessing模塊創(chuàng)建進程 169
11.5.2 使用Process子類創(chuàng)建進程 172
11.5.3 使用進程池Pool創(chuàng)建進程 174
11.6 進程間通信 175
11.6.1 隊列簡介 177
11.6.2 多進程隊列的使用 177
11.6.3 使用隊列在進程間通信 179
11.7 多進程爬蟲 180
11.8 小結 185
第12章 數據處理 186
12.1 初識Pandas 186
12.2 Series對象 187
12.2.1 圖解Series對象 187
12.2.2 創(chuàng)建一個Series對象 188
12.2.3 手動設置Series索引 188
12.2.4 Series的索引 189
12.2.5 獲取Series索引和值 190
12.3 DataFrame對象 190
12.3.1 圖解DataFrame對象 191
12.3.2 創(chuàng)建一個DataFrame對象 192
12.3.3 DataFrame的重要屬性和函數 194
12.4 數據的增、刪、改、查 195
12.4.1 增加數據 195
12.4.2 刪除數據 196
12.4.3 修改數據 197
12.4.4 查詢數據 198
12.5 數據清洗 199
12.5.1 NaN數據處理 199
12.5.2 去除重復數據 202
12.6 數據轉換 204
12.6.1 DataFrame轉換為字典 204
12.6.2 DataFrame轉換為列表 206
12.6.3 DataFrame轉換為元組 206
12.7 導入外部數據 207
12.7.1 導入.xls或.xlsx文件 207
12.7.2 導入.csv文件 211
12.7.3 導入.txt文本文件 213
12.7.4 導入HTML網頁 213
12.8 數據排序與排名 214
12.8.1 數據排序 214
12.8.2 數據排名 217
12.9 簡單的數據計算 219
12.9.1 求和(sum函數) 219
12.9.2 求均值(mean函數) 220
12.9.3 求值(max函數) 221
12.9.4 求小值(min函數) 221
12.10 數據分組統(tǒng)計 222
12.10.1 分組統(tǒng)計groupby函數 222
12.10.2 對分組數據進行迭代 224
12.10.3 通過字典和Series對象進行分組統(tǒng)計 225
12.11 日期數據處理 227
12.11.1 DataFrame的日期數據轉換 227
12.11.2 dt對象的使用 229
12.11.3 獲取日期區(qū)間的數據 230
12.11.4 按不同時期統(tǒng)計并顯示數據 231
12.12 小結 233
第13章 數據存儲 234
13.1 文件的存取 234
13.1.1 基本文件操作TXT 234
13.1.2 存儲CSV文件 239
13.1.3 存儲Excel文件 240
13.2 SQLite數據庫 241
13.2.1 創(chuàng)建數據庫文件 242
13.2.2 操作SQLite 242
13.3 MySQL數據庫 244
13.3.1 下載與安裝MySQL 244
13.3.2 安裝PyMySQL 248
13.3.3 連接數據庫 249
13.3.4 創(chuàng)建數據表 250
13.3.5 操作MySQL數據表 251
13.4 小結 252
第3篇 高級應用
第14章 數據可視化 254
14.1 Matplotlib概述 254
14.1.1 Matplotlib簡介 254
14.1.2 安裝Matplotlib 257
14.2 圖表的常用設置 258
14.2.1 基本繪圖plot函數 258
14.2.2 設置畫布 261
14.2.3 設置坐標軸 262
14.2.4 添加文本標簽 265
14.2.5 設置標題和圖例 266
14.2.6 添加注釋 268
14.3 常用圖表的繪制 269
14.3.1 繪制折線圖 270
14.3.2 繪制柱形圖 271
14.3.3 繪制餅形圖 273
14.4 案例:可視化二手房數據查詢系統(tǒng) 278
14.5 小結 285
第15章 App抓包工具 286
15.1 Charles工具的下載與安裝 286
15.2 SSL證書的安裝 288
15.2.1 安裝PC端證書 288
15.2.2 設置代理 291
15.2.3 配置網絡 292
15.2.4 安裝手機端證書 294
15.3 小結 296
第16章 識別驗證碼 297
16.1 字符驗證碼 297
16.1.1 搭建OCR環(huán)境 297
16.1.2 下載驗證碼圖片 298
16.1.3 識別驗證碼 299
16.2 第三方驗證碼識別 301
16.3 滑動拼圖驗證碼 305
16.4 小結 307
第17章 Scrapy爬蟲框架 308
17.1 了解Scrapy爬蟲框架 308
17.2 搭建Scrapy爬蟲框架 309
17.2.1 使用Anaconda安裝Scrapy 309
17.2.2 Windows系統(tǒng)下配置Scrapy 310
17.3 Scrapy的基本應用 312
17.3.1 創(chuàng)建Scrapy項目 312
17.3.2 創(chuàng)建爬蟲 313
17.3.3 獲取數據 316
17.3.4 將爬取的數據保存為多種格式的文件 318
17.4 編寫Item Pipeline 319
17.4.1 項目管道的核心方法 319
17.4.2 將信息存儲至數據庫 320
17.5 自定義中間件 324
17.5.1 設置隨機請求頭 325
17.5.2 設置Cookies 327
17.5.3 設置代理ip 330
17.6 文件下載 332
17.7 小結 334
第18章 Scrapy_Redis分布式爬蟲 335
18.1 安裝Redis數據庫 335
18.2 Scrapy-Redis模塊 337
18.3 分布式爬取中文日報新聞數據 338
18.3.1 分析網頁地址 338
18.3.2 創(chuàng)建MySQL數據表 339
18.3.3 創(chuàng)建Scrapy項目 340
18.3.4 啟動分布式爬蟲 344
18.4 自定義分布式爬蟲 348
18.5 小結 354
第4篇 項目實戰(zhàn)
第19章 數據偵探 356
19.1 需求分析 356
19.2 系統(tǒng)設計 356
19.2.1 系統(tǒng)功能結構 356
19.2.2 系統(tǒng)業(yè)務流程 357
19.2.3 系統(tǒng)預覽 358
19.3 系統(tǒng)開發(fā) 360
19.3.1 開發(fā)工具準備 360
19.3.2 文件夾組織結構 360
19.4 主窗體的UI設計 361
19.4.1 主窗體的布局 361
19.4.2 主窗體顯示效果 363
19.5 設計數據庫表結構 364
19.6 爬取數據 365
19.6.1 獲取商品熱賣排行信息 365
19.6.2 獲取價格信息 370
19.6.3 獲取評價信息 372
19.6.4 定義數據庫操作文件 375
19.7 主窗體的數據展示 378
19.7.1 顯示前10名熱賣榜圖文信息 378
19.7.2 顯示關注商品列表 382
19.7.3 顯示商品分類比例餅圖 389
19.8 外設產品熱賣榜 392
19.9 商品預警 395
19.9.1 關注商品中、差評預警 395
19.9.2 關注商品價格變化預警 398
19.9.3 更新關注商品信息 400
19.10 系統(tǒng)功能 401
19.11 小結 403

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號