注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計Python網(wǎng)絡(luò)爬蟲從入門到精通

Python網(wǎng)絡(luò)爬蟲從入門到精通

Python網(wǎng)絡(luò)爬蟲從入門到精通

定 價:¥99.80

作 者: 明日科技
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: Python 程序設(shè)計 計算機(jī)/網(wǎng)絡(luò)

ISBN: 9787302567004 出版時間: 2021-06-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號