Python 網絡爬蟲從入門到精通

明日科技

  • 出版商: 清華大學
  • 出版日期: 2021-06-01
  • 定價: $599
  • 售價: 8.5$509
  • 語言: 簡體中文
  • 頁數: 416
  • 裝訂: 平裝
  • ISBN: 730256700X
  • ISBN-13: 9787302567004
  • 相關分類: Web-crawler 網路爬蟲
  • 立即出貨 (庫存 < 4)

  • Python 網絡爬蟲從入門到精通-preview-1
  • Python 網絡爬蟲從入門到精通-preview-2
  • Python 網絡爬蟲從入門到精通-preview-3
Python 網絡爬蟲從入門到精通-preview-1

買這商品的人也買了...

商品描述

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

作者簡介

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

目錄大綱

第1篇基礎知識
第1章初識網絡爬蟲2
1.1網絡爬蟲概述2
1.2網絡爬蟲的分類2
1.3網絡爬蟲的基本原理3
1.4搭建開發環境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協議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動態腳本語言24
2.5小結27

第3章請求模塊urllib 28
3.1 urllib簡介28
3.2使用urlopen()方法發送請求28
3.2.1發送GET請求29
3.2.2發送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發送網絡請求49
4.2.1 GET請求49
4.2.2 POST請求50
4.2.3重試請求51
4.2.4處理響應內容51
4.3複雜請求的發送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獲取動態加載的數據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獲取所有節點109
8.2.3獲取子節點110
8.2.4獲取父節點112
8.2.5獲取文本112
8.2.6屬性匹配113
8.2.7獲取屬性115
8.2.8按序獲取116
8.2.9節點軸獲取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獲取節點內容125
9.2.1獲取節點對應的代碼125
9.2 .2獲取節點屬性126
9.2.3獲取節點包含的文本內容127
9.2.4嵌套獲取節點內容128
9.2.5關聯獲取129
9.3方法獲取內容133
9.3.1 find_all()獲取所有符合條件的內容133
9.3.2 find()獲取第一個匹配的節點內容136
9.3.3其他方法137
9.4 CSS選擇器137
9.5小結140

第10章爬取動態渲染的信息141
10.1 Ajax數據的爬取141
10.1.1分析請求地址141
10.1.2提取視頻標題與視頻地址144
10.1.3視頻的批量下載145
10.2使用Selenium爬取動態加載的信息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環境(Windows 10系統) 150
10.3.2搭建Splash環境(Windows 7系統) 153
10.3.3 Splash中的HTTP API 156
10.3.4執行lua自定義腳本159
10.4小結160

第11章多線程與多進程爬蟲161
11.1什麼是線程161
11.2創建線程161
11.2.1使用threading模塊創建線程162
11.2.2使用Thread子類創建線程163
11.3線程間通信163
11.3.1什麼是互斥鎖165
11.3.2使用互斥鎖165
11.3.3使用隊列在線程間通信167
11.4什麼是進程169
11.5創建進程的常用方式169
11.5.1使用multiprocessing模塊創建進程169
11.5.2使用Process子類創建進程172
11.5.3使用進程池Pool創建進程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創建一個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創建一個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數據分組統計222
12.10.1分組統計groupby函數222
12.10.2對分組數據進行迭代224
12.10.3通過字典和Series對象進行分組統計225
12.11日期數據處理227
12.11.1 DataFrame的日期數據轉換227
12.11.2 dt對象的使用229
12.11.3獲取日期區間的數據230
12.11.4按不同時期統計並顯示數據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創建數據庫文件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創建數據表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案例:可視化二手房數據查詢系統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環境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系統下配置Scrapy 310
17.3 Scrapy的基本應用312
17.3.1創建Scrapy項目312
17.3.2創建爬蟲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創建MySQL數據表339
18.3.3創建Scrapy項目340
18.3.4啟動分佈式爬蟲344
18.4自定義分佈式爬蟲348
18.5小結354

第4篇項目實戰
第19章數據偵探356
19.1需求分析356
19.2系統設計356
19.2.1系統功能結構356
19.2.2系統業務流程357
19.2.3系統預覽358
19.3系統開發必備360
19.3.1開發工具準備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系統功能401
19.11小結403