Python網絡爬蟲技術項目教程
彭濤,謝宏蘭
- 出版商: 電子工業
- 出版日期: 2026-09-01
- 售價: $294
- 語言: 簡體中文
- 頁數: 232
- ISBN: 712148143X
- ISBN-13: 9787121481437
-
相關分類:
Web-crawler 網路爬蟲
尚未上市,歡迎預購
商品描述
本書從爬蟲項目開發環境搭建開始,詳細講解從數據采集到內容可視化的全過程。本書從7個網站爬蟲項目出發,根據項目需求選取不同的數據采集和處理技術,並有針對性地講解幾種Python網絡爬蟲。本書共8章,前3章是入門篇,第4、5、6章是進階篇,第7、8章是高級篇。涵蓋的內容有Scrapy爬蟲、Requests爬蟲、Selenium模擬瀏覽器、XPath語言、CSS選擇器、CSV存儲、MySQL存儲、JSON讀取、Parsel解析、Flask框架、ECharts可視化等。本書參考企業項目開發的工作流程,圖文並茂地講解每個操作步驟,並提供運行結果讓讀者檢驗自己的代碼,中間也穿插介紹相關知識點和疑難問題。本書適用於高職高專院校大數據技術專業開展項目化教學和畢業設計指導,也可作為網絡爬蟲愛好者的啟蒙資料。
目錄大綱
項目一 認識網絡爬蟲
素質目標
技能目標
項目導讀
任務一 網絡爬蟲引言
? 任務引入
? 知識準備
一、網絡爬蟲的起源
二、網絡爬蟲的基本原理
三、爬蟲法律問題
四、Python網絡爬蟲的步驟
任務二 Web知識了解
? 任務引入
? 知識準備
一、HTTP的工作原理
二、發送請求報文
三、返回響應
四、HTTP消息
五、網頁地址URL
六、網頁結構
任務三 Python爬蟲環境搭建
? 任務引入
? 知識準備
一、Python簡介
二、安裝Python
三、安裝PyCharm
案例1—PyCharm項目文件
案例2—安裝爬蟲模塊庫
項目二 Python入門知識
素質目標
技能目標
項目導讀
任務一 Python基本語法與命令
? 任務引入
? 知識準備
一、程序頭文件
二、語法規則
三、數據輸入/輸出
四、運算符
案例1—學生人數統計
任務二 數據類型
? 任務引入
? 知識準備
一、數字
二、字符串
三、列表
四、區間
五、元組
六、字典
七、集合
八、bytes 類型
案例2—動物園的基本情況
任務三 函數和程序結構
? 任務引入
? 知識準備
一、函數
案例3—計算商品增長率
二、程序結構
案例4—下載微信網址
項目實戰
實戰1 學生信息統計
實戰2 比較Python網址
項目三 發送網頁請求
素質目標
技能目標
項目導讀
任務一 使用Urllib發送網頁請求
? 任務引入
? 知識準備
一、基本HTTP請求
案例1—獲取商商查網站數據
案例2—設置請求超時時間
二、Request網絡請求
案例3—發送Request請求獲取官網數據
案例4—添加頭信息獲取視頻網頁數據
三、Handler方法發送請求
案例5—利用Handler方法發送請求獲取大眾點評網站數據
四、設置代理IP
案例6—通過代理IP發送官網請求
五、身份驗證
案例7—獲取MSN網頁Cookie信息
案例8—保存MSN網站的Cookie文件
案例9—加載卡路裏查詢網頁的Cookie信息
任務二 Urllib3發送網頁請求
? 任務引入
? 知識準備
一、創建代理對象
二、使用Request方法發送請求
三、獲取響應屬性
案例10—獲取嗶哩嗶哩登錄界面的響應
案例11—不同請求方法獲取某公司響應
四、定義請求頭
案例12—獲取帶請求頭的響應
五、設置代理IP
案例13—使用代理IP發送請求
六、自動重試
案例14—百度網址發送重試請求
七、重定向
案例15—自定義重定向策略
案例16—禁用自動重定向
任務三 使用Requests發送網頁請求
? 任務引入
? 知識準備
一、發送標準的HTTP請求
案例17—訪問快手短視頻網
二、返回響應消息
案例18—訪問漫畫網頁響應消息
三、發送GET請求方法
案例19—網易雲搜索歌曲網頁
案例20—發送帶url參數的請求
四、其他請求方法
案例21—POST請求方法發送data提交表單數據
五、復雜請求頭
案例22—發送定制請求頭信息
六、上傳文件
案例23—上傳二進制數據
七、會話保持
案例24—通過Session對象和Requests發送GET請求
項目實戰
實戰1 使用Urllib發送請求訪問網易有道網
實戰2 使用Urllib3發送請求訪問東方財富網
實戰3 使用Request發送請求訪問千裏馬招標網
項目四 解析數據
素質目標
技能目標
項目導讀
任務一 使用Urllib解析URL
? 任務引入
? 知識準備
一、使用Urllib解析URL
案例1—搜索音樂網址解析
案例2—搜索音樂網址解析與構建
案例3—網易雲音樂飆升榜網址拼接
二、URL轉碼
案例4—添加字典編碼參數
案例5—編碼與解碼網址
任務二 使用json解析JSON數據
? 任務引入
? 知識準備
一、Python編碼為JSON
案例6—創建查詢網站數據JSON文件
二、JSON解碼為Python
案例7—查詢網站數據字典與JSON轉換
任務三 使用Requests解析網頁
? 任務引入
? 知識準備
一、HTML文檔結構
二、網頁解析
案例8—Python官網網頁響應數據
任務四 使用正則表達式解析網頁
? 任務引入
? 知識準備
一、正則表達式模式
二、使用re模塊實現正則表達式
三、字符串查找
案例9—字符查找對象演示
案例10—區分大小寫字符查找
案例11—輸出數字查找結果表達式
任務五 使用XPath解析網頁
? 任務引入
? 知識準備
一、XPath概述
二、XPath網頁解析
案例12—解析網站文本代碼
三、獲取節點信息
案例13—獲取HTML文本的所有節點信息
四、節點關系
案例14—獲取屬性節點和屬性值
五、XPath運算符
案例15—利用XPath比較運算符篩選導航欄節點信息
任務六 使用BeautifulSoup解析網頁
? 任務引入
? 知識準備
一、創建BeautifulSoup對象
案例16—使用lxml解析天氣預報HTML
二、通過屬性獲取節點內容
案例17—獲取公司信息HTML文本
三、根據節點關系獲取節點
案例18—獲取公司信息關聯節點
四、查找節點內容
案例19—獲取符合條件的節點內容
五、通過CSS選擇器查找節點內容
案例20—使用類選擇器查找天氣預報HTML節點
項目實戰
實戰1 解析學校網頁 HTML 文件
實戰2 爬取學校“科研信息”及聯系方式
項目五 存儲爬蟲數據
素質目標
技能目標
項目導讀
任務一 將網頁保存到文本文件
? 任務引入
? 知識準備
一、保存文件
二、關閉文件
三、寫文本文件
案例1—下載百度網頁文件
任務二 下載網頁到本地文件
? 任務引入
? 知識準備
一、使用Urllib下載網頁文件
案例2—下載愛奇藝網頁文件
二、使用Wget下載網頁文件
案例3—下載紅葉圖片文件
任務三 保存網頁到數據文件
? 任務引入
? 知識準備
一、Pandas數組數據
二、Pandas下載網頁文件
案例4—下載巨潮資訊網網站數據
三、保存到Excel文件
四、保存CSV文件
案例5—下載飼料產量文件
任務四 保存網頁到數據庫
? 任務引入
? 知識準備
一、安裝MySQL數據庫
二、登錄MySQL服務器
三、創建數據庫
四、Python連接到數據庫
五、MySQL數據表管理
案例6—保存爬取百度網頁中的數據到數據庫
項目實戰
實戰1 下載王者榮耀圖片
實戰2 獲取查詢網郵編區號
實戰3 獲取地區車牌號
項目六 異常處理
素質目標
技能目標
項目導讀
任務一 錯誤和異常調試
? 任務引入
? 知識準備
一、錯誤
二、異常
案例1—序列索引異常
任務二 異常捕獲與處理語句
? 任務引入
? 知識準備
一、try-except語句
案例2—捕獲索引超出範圍異常
二、raise語句
案例3—用raise語句定義異常
三、assert語句
案例4—用assert語句定義異常
任務三 異常處理模塊庫
? 任務引入
? 知識準備
一、Urllib異常處理模塊
案例5—處理URLError異常
二、Urllib3異常處理模塊
案例6—Urllib3禁用警告
三、Request異常處理模塊
案例7—處理Request響應錯誤
項目實戰
實戰1 輸出異常原因
實戰2 處理超時訪問異常
項目七 Scrapy網絡爬蟲框架
素質目標
技能目標
項目導讀
任務一 Scrapy網絡爬蟲框架基礎認知
? 任務引入
? 知識準備
一、Scrapy網絡爬蟲框架基礎
二、Scrapy常用命令
三、創建Scrapy項目
任務二 Scrapy網絡爬蟲文件
? 任務引入
? 知識準備
一、Spider類
二、配置網絡爬蟲
三、啟動網絡爬蟲
案例1—發送HTTP請求
四、提取數據
項目實戰
實戰1 提取景區線路名稱
