Python網絡爬蟲技術項目化教程
謝娜娜,黃源,任東哲
- 出版商: 電子工業
- 出版日期: 2026-04-01
- 定價: $299
- 售價: $298
- 語言: 簡體中文
- 頁數: 252
- ISBN: 7121525321
- ISBN-13: 9787121525322
-
相關分類:
Web-crawler 網路爬蟲
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書基於Python介紹網絡爬蟲的基礎知識。全書包括8個項目,分別為“爬蟲入門——認識與使用網絡爬蟲”“網頁數據爬取——爬取圖片、視頻與半結構化數據”“網頁數據解析與爬取——爬取電影網站中的數據”“網絡爬蟲與數據存儲——爬取網頁數據並存儲”“動態內容爬取——探索社交媒體動態”“引入Scrapy——構建高效的網絡爬蟲”“應對反爬策略——突破封鎖,持續爬取”“綜合案例——構建電商網站並使用網絡爬蟲爬取數據”。通過這些項目,本書系統講解Python的Web訪問技術、BeautifulSoup和XPath的數據分析與提取技術、Scrapy爬蟲框架技術及Selenium爬蟲程序技術等內容。每個項目的編寫均遵循由淺入深的學習規律,采取理論與實踐相結合的方式,引導學生完成實戰項目。本書適合作為軟件技術、大數據、人工智能等專業的教材,也適合具有一定Linux或Python開發基礎的人員閱讀,同時可作為爬蟲工程師的參考書。
目錄大綱
項目1 爬蟲入門——認識與使用網絡爬蟲 1
任務1.1 認識網絡爬蟲 1
1.1.1 網絡爬蟲介紹 1
1.1.2 網絡爬蟲的運行機制 3
1.1.3 網絡爬蟲的應用 3
任務1.2 認識HTTP的請求與響應 4
1.2.1 HTTP組成 4
1.2.2 請求與響應 4
任務1.3 安裝並使用Python擴展庫 7
1.3.1 認識Python 7
1.3.2 安裝Python 7
1.3.3 Python基本語法 8
1.3.4 認識Python爬蟲庫 11
1.3.5 安裝Python爬蟲庫 12
任務1.4 利用Python實現網絡爬蟲 15
1.4.1 運行Python爬蟲庫 15
1.4.2 利用Python實現網頁請求與響應 17
1.4.3 分析網頁結構 21
項目實戰 讀取網頁數據 24
思考與練習 27
項目2 網頁數據爬取——爬取圖片、視頻與半結構化數據 29
任務2.1 認識網絡常見數據類型 30
2.1.1 HTML 30
2.1.2 XML 30
2.1.3 JSON 31
2.1.4 非文本資源 31
任務2.2 文件操作 32
任務2.3 圖片與視頻爬取 34
2.3.1 圖片爬取 34
2.3.2 視頻爬取 36
任務2.4 XML與JSON數據處理 38
2.4.1 XML數據處理 38
2.4.2 JSON數據處理 46
項目實戰 爬取本地服務器中的XML數據 50
思考與練習 52
項目3 網頁數據解析與爬取——爬取電影網站中的數據 53
任務3.1 正則表達式及其應用 54
3.1.1 正則表達式介紹 54
3.1.2 正則表達式應用 56
任務3.2 BeautifulSoup及其應用 61
3.2.1 BeautifulSoup介紹 61
3.2.2 BeautifulSoup應用 63
任務3.3 利用Requests和BeautifulSoup爬取電影網站中的數據 84
3.3.1 熟悉爬取原理 84
3.3.2 爬取電影網站中的數據 86
項目實戰 翻頁爬取網頁數據 92
思考與練習 95
項目4 網絡爬蟲與數據存儲——爬取網頁數據並存儲 97
任務4.1 CSV存儲 98
4.1.1 CSV介紹 98
4.1.2 利用Python讀取CSV文件 99
4.1.3 網絡爬蟲與CSV存儲 100
任務4.2 MySQL存儲 105
4.2.1 MySQL介紹 105
4.2.2 MySQL操作 106
項目實戰 爬取網頁數據並將其存儲到MySQL中 116
思考與練習 120
項目5 動態內容爬取——探索社交媒體動態 121
任務5.1 動態網頁特征 122
5.1.1 初識動態網頁 122
5.1.2 源代碼特征 123
5.1.3 網址特征 124
任務5.2 動態網頁分析 124
5.2.1 理解Ajax和動態加載內容 124
5.2.2 實現動態加載內容 125
5.2.3 爬取動態生成的內容 126
任務5.3 Selenium環境搭建 127
5.3.1 安裝Selenium 127
5.3.2 下載瀏覽器驅動程序 127
5.3.3 驗證環境搭建 128
任務5.4 Selenium元素定位與精準搜索 129
5.4.1 通過標簽的id屬性進行定位 130
5.4.2 通過標簽的name屬性進行定位 131
5.4.3 通過標簽的class屬性進行定位 131
5.4.4 通過標簽名tag進行定位 132
5.4.5 通過link進行定位 133
5.4.6 通過元素的XPath表達式進行定位 135
5.4.7 通過CSS選擇器進行定位 136
任務5.5 Selenium等待機制 137
5.5.1 隱式等待 137
5.5.2 顯式等待 138
5.5.3 固定等待 139
任務5.6 Selenium瀏覽器操作 140
5.6.1 處理瀏覽器彈窗 140
5.6.2 切換窗口和標簽頁 143
5.6.3 瀏覽器Cookie操作 144
5.6.4 執行JavaScript代碼 146
5.6.5 處理iframe 146
項目實戰 社交媒體網站微博爬蟲實戰 148
思考與練習 153
項目6 引入Scrapy——構建高效的網絡爬蟲 155
任務6.1 Scrapy基礎 156
6.1.1 認識Scrapy 156
6.1.2 Scrapy組件 156
任務6.2 安裝Scrapy 159
6.2.1 Scrapy安裝 159
6.2.2 安裝驗證 159
任務6.3 認識Scrapy中的對象 160
6.3.1 Request對象 161
6.3.2 Response對象 162
6.3.3 Item對象 164
任務6.4 創建第一個Scrapy項目 166
任務6.5 利用Scrapy爬取豆瓣讀書Top 250頁面數據 170
6.5.1 創建項目與搭建結構 170
6.5.2 定義Item 170
6.5.3 編寫Spider爬蟲代碼 171
6.5.4 修改pipeline.py文件 175
6.5.5 修改settings.py文件 176
6.5.6 運行Scrapy爬蟲 179
6.5.7 查看爬取結果 180
項目實戰 利用Scrapy爬取當當網站圖書數據 181
思考與練習 192
項目7 應對反爬策略——突破封鎖,持續爬取 195
任務7.1 常見反爬機制與應對策略 196
7.1.1 利用代理IP池避免IP封鎖 196
7.1.2 偽裝User-Agent模擬真實瀏覽器行為 197
任務7.2 利用Python搭建代理IP池 199
7.2.1 收集代理 199
7.2.2 驗證代理 201
7.2.3 管理代理 204
7.2.4 使用代理 205
任務7.3 處理簡單驗證碼 206
7.3.1 安裝與配置Tesseract 207
7.3.2 使用Tesseract識別驗證碼 213
任務7.4 利用aiohttp實現高效數據爬取 215
7.4.1 同步編程 215
7.4.2 異步編程 216
7.4.3 aiohttp 216
7.4.4 aiohttp進階應用與優化 218
項目實戰 爬取Scrape書籍網站 220
思考與練習 227
項目8 綜合案例——構建電商網站並使用網絡爬蟲爬取數據 229
任務8.1 認識電商網站 230
8.1.1 電商網站介紹 230
8.1.2 網絡爬蟲與電商網站 231
任務8.2 構建電商平臺 232
8.2.1 認識Flask 232
8.2.2 Flask下的電商網站開發 233
任務8.3 爬取電商平臺數據 235
8.3.1 編寫代碼 235
8.3.2 運行網絡爬蟲 236
8.3.3 將數據保存到CSV文件中 236
8.3.4 數據分析 238
