Python數(shù)據(jù)爬取技術(shù)與實戰(zhàn)手冊
定 價:59.8 元
- 作者:郭卡,戴亮編著
- 出版時間:2018/1/1
- ISBN:9787113245221
- 出 版 社:中國鐵道出版社
- 中圖法分類:TP311.561-62
- 頁碼:304頁
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書介紹了如何使用Python編寫網(wǎng)絡(luò)爬蟲批量采集互聯(lián)網(wǎng)數(shù)據(jù),如何處理與保存采集到的信息,以及如何從眾多紛亂的數(shù)據(jù)中提取到真正有用的信息。并介紹了幾種常用的數(shù)據(jù)可視化工具。
第1章 拍檔:網(wǎng)絡(luò)爬蟲與Python語言
1.1 什么是網(wǎng)絡(luò)爬蟲 1
1.1.1 網(wǎng)絡(luò)爬蟲的定義 2
1.1.2 網(wǎng)絡(luò)爬蟲的工作流程 2
1.1.3 網(wǎng)絡(luò)爬蟲的分類 3
1.1.4 為什么選擇用Python編寫網(wǎng)絡(luò)爬蟲 4
1.1.5 編寫爬蟲的注意事項 4
1.2 Python環(huán)境配置 5
1.2.1 Python的安裝 5
1.2.2 Python第三方庫的安裝 6
【示例1-1】使用包管理器安裝科學(xué)計算庫numpy 6
【示例1-2】源代碼方式安裝xlrd庫(使用setup.py文件) 7
【示例1-3】源代碼方式安裝xlrd庫(使用whl文件) 8
1.2.3 Python開發(fā)工具的選擇 8
【示例1-4】將文本編輯器配置成Python開發(fā)工具(以Notepad++為例) 12
1.3 Python基本語法 13
1.3.1 Python書寫規(guī)則 13
1.3.2 Python基本數(shù)據(jù)類型 18
【示例1-5】以列表a = ['a','a','b','c','d','d','e']為例講解List的基本操作 21
【示例1-6】以列表a = [1,2,3,4,5,6,7,8]為例講解數(shù)據(jù)型列表的屬性分析 23
【示例1-7】以字典a為例,講解字典的基本操作 25
1.3.3 Python獨有數(shù)據(jù)生成方式:推導(dǎo)式 29
1.3.4 函數(shù) 30
【示例1-8】局部變量與全局變量重名的運行結(jié)果與解決方案 31
1.3.5 條件與循環(huán) 34
1.3.6 類與對象 35
【示例1-9】請輸出學(xué)生信息中某學(xué)生的班級、姓名和總分?jǐn)?shù) 35
1.3.7 Python 2代碼轉(zhuǎn)為Python 3代碼 36
【示例1-10】以文件test.py為例,介紹Python 2代碼到Python 3代碼的轉(zhuǎn)化 37
第2章 應(yīng)知應(yīng)會:網(wǎng)絡(luò)爬蟲基本知識
2.1 網(wǎng)頁的構(gòu)成 38
2.1.1 HTML基本知識 39
2.1.2 網(wǎng)頁中各元素的排布 46
【示例2-1】以新浪博客文本為例,學(xué)習(xí)各類元素的排布規(guī)則 46
2.2 正則表達式 48
2.2.1 正則表達式簡介 48
2.2.2 Python語言中的正則表達式 49
【示例2-2】正則表達式應(yīng)用中,當(dāng)匹配次數(shù)達到10萬時,預(yù)先編譯對正則表達式性能的提升 51
2.2.3 綜合實例:正則表達式的實際應(yīng)用——在二手房網(wǎng)站中提取有用信息 52
2.3 漢字編碼問題 54
2.3.1 常見編碼簡介 54
2.3.2 常用編程環(huán)境的默認(rèn)編碼 55
2.3.3 網(wǎng)頁編碼 56
2.3.4 編碼轉(zhuǎn)換 56
2.4 網(wǎng)絡(luò)爬蟲的行為準(zhǔn)則 57
2.4.1 遵循Robots協(xié)議 57
2.4.2 網(wǎng)絡(luò)爬蟲的合法性 59
第3章 靜態(tài)網(wǎng)頁爬取
3.1 Python常用網(wǎng)絡(luò)庫 61
3.1.1 urllib庫 62
【示例3-1】從眾多代理IP中選取可用的IP 63
【示例3-2】百度搜索“Python”url演示Parse模塊應(yīng)用 66
3.1.2 綜合實例:批量獲取高清壁紙 68
3.1.3 requests庫 71
【示例3-3】用requests實現(xiàn)豆瓣網(wǎng)站模擬登錄 72
3.1.4 綜合實例:爬取歷史天氣數(shù)據(jù)預(yù)測天氣變化 74
3.2 網(wǎng)頁解析工具 77
3.2.1 更易上手:BeautifulSoup 77
【示例3-4】解析HTML文檔(以豆瓣讀書《解憂雜貨店》為例) 78
3.2.2 更快速度:lxml 81
3.2.3 BeautifulSoup與lxml對比 82
【示例3-5】爬取豆瓣讀書中近5年出版的評分7分以上的漫畫 82
【示例3-6】BeautifulSoup和lxml解析同樣網(wǎng)頁速度測試(基于網(wǎng)易新聞頁) 85
3.2.4 綜合實例:在前程無憂中搜索并抓取不同編程語言崗位的平均收入 85
第4章 動態(tài)網(wǎng)頁爬取
4.1 AJAX技術(shù) 89
4.1.1 獲取AJAX請求 90
4.1.2 綜合實例:抓取簡書百萬用戶個人主頁 91
4.2 Selenium操作瀏覽器 97
4.2.1 驅(qū)動常規(guī)瀏覽器 97
4.2.2 驅(qū)動無界面瀏覽器 100
4.2.3 綜合實例:模擬登錄新浪微博并短視頻 101
4.3 爬取移動端數(shù)據(jù) 103 <