Python 網絡爬蟲基礎教程

黑馬程序員

  • 出版商: 人民郵電
  • 出版日期: 2022-05-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • 頁數: 257
  • ISBN: 7115589151
  • ISBN-13: 9787115589156
  • 相關分類: Web-crawler 網路爬蟲
  • 下單後立即進貨 (約4週~6週)

  • Python 網絡爬蟲基礎教程-preview-1
  • Python 網絡爬蟲基礎教程-preview-2
Python 網絡爬蟲基礎教程-preview-1

相關主題

商品描述

網絡爬蟲是一種按照一定的規則,自動請求萬維網網站並採集網頁數據的程序或腳本。它可以代替人進行信息採集,能夠自動採集並高效利用互聯網中的數據,因此在市場的應用需求中占據重要位置。

本書以Windows為主要開發平臺,系統地講解Python網絡爬蟲的相關知識。本書的主要內容包括認識網絡爬蟲、網頁請求原理、抓取靜態網頁數據、解析網頁數據、抓取動態網頁數據、提升網絡爬蟲速度、存儲數據、驗證碼識別、初識網絡爬蟲框架Scrapy、Scrapy核心組件與CrawlSpider類、分佈式網絡爬蟲Scrapy-Redis。

本書可以作為高等院校電腦相關專業程序設計課程的教材、Python網絡爬蟲的相關培訓教材,以及廣大編程開發者的網絡爬蟲入門級教材。

作者簡介

黑马程序员,传智播客旗下高端教育品牌,成立于2006年,它是由中国Java培训先行者张孝祥老师发起,联合全球最大的中文IT社区CSDN、中关村软件园共同创办的一家专业教育机构。办学至今,我们一直坚守着“为千万人少走弯路而著书,为中华软件之崛起而讲课”的办学理念,坚持培养优秀软件应用工程师的宏伟目标,在累计培养的十万余名学员中。

目錄大綱

第 1章 認識網絡爬蟲 001

1.1 什麽是網絡爬蟲 001

1.2 網絡爬蟲的應用場景 002

1.3 網絡爬蟲合法性探究 003

1.3.1 Robots協議 003

1.3.2 防爬蟲應對策略 005

1.4 網絡爬蟲的工作原理和流程 006

1.4.1 網絡爬蟲的工作原理 006

1.4.2 網絡爬蟲抓取網頁的流程 008

1.5 網絡爬蟲實現技術探究 009

1.5.1 網絡爬蟲的實現技術 009

1.5.2 Python實現網絡爬蟲的流程 010

1.6 本章小結 011

1.7 習題 011

第 2章 網頁請求原理 013

2.1 瀏覽器加載網頁的過程 013

2.2 HTTP基礎 014

2.2.1 URL簡介 014

2.2.2 HTTP和HTTPS 015

2.2.3 HTTP請求格式 016

2.2.4 HTTP響應格式 017

2.3 網頁基礎 019

2.3.1 網頁開發技術 019

2.3.2 網頁的結構 021

2.3.3 網頁的分類 022

2.3.4 網頁數據的格式 024

2.4 HTTP抓包工具——Fiddler 026

2.4.1 Fiddler的工作原理 026

2.4.2 Fiddler的下載與安裝 027

2.4.3 Fiddler界面詳解 029

2.4.4 Fiddler捕獲HTTPS頁面的設置 032

2.4.5 Fiddler的基本使用 039

2.5 本章小結 041

2.6 習題 041

第3章 抓取靜態網頁數據 043

3.1 抓取靜態網頁的技術 043

3.2 發送基本請求 044

3.2.1 發送GET請求 044

3.2.2 發送POST請求 046

3.2.3 處理響應 047

3.3 處理復雜請求 049

3.3.1 定製請求頭 049

3.3.2 驗證Cookie 051

3.3.3 保持會話 052

3.3.4 SSL證書驗證 053

3.4 設置代理服務器 054

3.4.1 代理服務器簡介 054

3.4.2 設置代理服務器 055

3.4.3 檢測代理IP的有效性 056

3.5 處理異常 057

3.6 實踐項目:抓取黑馬程序員論壇的數據 059

【項目目標】 059

【項目分析】 060

【項目實現】 061

3.7 本章小結 063

3.8 習題 063

第4章 解析網頁數據 065

4.1 解析網頁數據的技術 065

4.2 正則表達式與re模塊 066

4.2.1 正則表達式的語法 066

4.2.2 re模塊的使用 068

4.3 XPath與lxml庫 069

4.3.1 XPath簡介 069

4.3.2 XPath語法 070

4.3.3 XPath開發工具 073

4.3.4 lxml庫簡介 075

4.4 Beautiful Soup庫 077

4.4.1 Beautiful Soup簡介 077

4.4.2 創建BeautifulSoup類的對象 078

4.4.3 通過查找方法選取節點 080

4.4.4 通過CSS選擇器選取節點 081

4.5 JSONPath與jsonpath模塊 083

4.5.1 JSONPath語法 083

4.5.2 jsonpath模塊的使用 085

4.6 實踐項目:採集黑馬程序員論壇的帖子 088

【項目目標】 088

【項目分析】 089

【項目實現】 090

4.7 本章小結 093

4.8 習題 093

第5章 抓取動態網頁數據 095

5.1 抓取動態網頁的技術 095

5.2 Selenium和WebDriver的安裝與配置 096

5.3 Selenium的基本使用 099

5.3.1 WebDriver類的常用屬性和方法 100

5.3.2 定位元素 102

5.3.3 鼠標操作 105

5.3.4 下拉列表框操作 107

5.3.5 彈出框處理 108

5.3.6 頁面切換 110

5.3.7 頁面等待 111

5.4 實踐項目:採集集信達平臺的短信服務日誌信息 114

【項目目標】 114

【項目分析】 116

【項目實現】 119

5.5 本章小結 122

5.6 習題 123

第6章 提升網絡爬蟲速度 125

6.1 網絡爬蟲速度提升方案 125

6.2 多線程爬蟲 126

6.2.1 多線程爬蟲流程分析 126

6.2.2 多線程爬蟲實現技術 127

6.2.3 多線程爬蟲基本示例 130

6.2.4 多線程爬蟲性能分析 133

6.3 協程爬蟲 134

6.3.1 協程爬蟲流程分析 134

6.3.2 協程爬蟲實現技術 135

6.3.3 協程爬蟲基本示例 137

6.3.4 協程爬蟲性能分析 138

6.4 實踐項目:採集黑馬頭條的評論列表 139

【項目目標】 139

【項目分析】 140

【項目實現】 141

6.5 本章小結 144

6.6 習題 144

第7章 存儲數據 146

7.1 數據存儲的方式 146

7.2 存儲至MongoDB數據庫 147

7.2.1 下載與安裝MongoDB 147

7.2.2 使用Python操作MongoDB 151

7.3 存儲至Redis數據庫 154

7.3.1 下載與安裝Redis 154

7.3.2 使用Python操作Redis 157

7.3.3 Redis桌面管理工具 159

7.4 實踐項目:採集小兔鮮兒網的商品信息 162

【項目目標】 162

【項目分析】 164

【項目實現】 167

7.5 本章小結 170

7.6 習題 170

第8章 驗證碼識別 172

8.1 驗證碼識別 172

8.1.1 字符驗證碼的識別 172

8.1.2 滑動拼圖驗證碼的識別 181

8.1.3 點選驗證碼的識別 181

8.2 實踐項目:登錄黑馬頭條後台管理系統 188

【項目目標】 188

【項目分析】 189

【項目實現】 191

8.3 本章小結 197

8.4 習題 197

第9章 初識網絡爬蟲框架Scrapy 199

9.1 Scrapy框架簡介 199

9.2 Scrapy框架架構 200

9.3 Scrapy框架運作流程 201

9.4 Scrapy框架安裝 203

9.5 Scrapy框架基本操作 205

9.5.1 新建Scrapy項目 205

9.5.2 明確採集目標 206

9.5.3 製作爬蟲 207

9.5.4 永久存儲數據 212

9.6 實踐項目:採集黑馬程序員視頻庫的視頻信息 213

【項目目標】 213

【項目分析】 213

【項目實現】 214

9.7 本章小結 216

9.8 習題 216

第 10章 Scrapy核心組件與CrawlSpider類 219

10.1 Spiders組件 219

10.2 Item Pipeline組件 220

10.3 Downloader Middlewares組件 222

10.3.1 內置下載中間件 223

10.3.2 自定義下載中間件 223

10.3.3 激活下載中間件 225

10.4 Settings組件 225

10.5 CrawlSpider類 227

10.5.1 CrawlSpider類簡介 227

10.5.2 CrawlSpider類的工作原理 229

10.5.3 通過Rule類決定抓取規則 230

10.5.4 通過LinkExtractor類提取鏈接 231

10.6 實踐項目:採集暢購商城的華為手錶信息 232

【項目目標】 233

【項目分析】 233

【項目實現】 234

10.7 本章小結 236

10.8 習題 236

第 11章 分佈式網絡爬蟲Scrapy-Redis 238

11.1 分佈式網絡爬蟲簡介 238

11.2 Scrapy-Redis架構 240

11.3 Scrapy-Redis運作流程 242

11.4 Scrapy-Redis開發準備 242

11.4.1 安裝Scrapy-Redis 242

11.4.2 修改配置文件 243

11.4.3 測試遠程連接 244

11.5 Scrapy-Redis的基本操作 246

11.5.1 新建Scrapy-Redis項目 246

11.5.2 明確採集目標 247

11.5.3 製作爬蟲 248

11.5.4 運行爬蟲 249

11.5.5 使用管道存儲數據 250

11.6 實踐項目:使用RedisCrawlSpider採集暢購商城的華為手錶信息 252

【項目目標】 252

【項目分析】 252

【項目實現】 252

11.7 本章小結 257

11.8 習題 257