數(shù)據(jù)采集技術(shù)—Python網(wǎng)絡爬蟲項目化教程內(nèi)容簡介
網(wǎng)絡爬蟲就是一組能自動從網(wǎng)站的相關(guān)網(wǎng)頁中搜索與提取數(shù)據(jù)的程序,這些數(shù)據(jù)是進一步實現(xiàn)數(shù)據(jù)分析的關(guān)鍵與前提。Python語言程序簡單高效,編寫網(wǎng)絡爬蟲有特別的優(yōu)勢,尤其業(yè)界有專門為Python編寫的各種各樣的爬蟲程序框架,使得Python編寫爬蟲程序更加簡單高效。
本書主要分成4個項目,項目1以爬取學生信息的項目為依托,講解Python的Web訪問技術(shù),它是爬蟲程序的基礎。項目2以爬取城市天氣預報項目為依托,講解BeautifulSoup網(wǎng)頁數(shù)據(jù)的爬取方法。項目3以爬取網(wǎng)絡圖像項目為依托,講解網(wǎng)頁的深度優(yōu)先與廣度優(yōu)先順序爬取路徑的構(gòu)造方法與多線程分布式網(wǎng)頁爬取技術(shù)。項目4以爬取網(wǎng)站的圖書信息項目為依托,講解目前功能*的分布式爬取框架Scrapy的程序設計技術(shù)。每個部分都遵循由淺入深的學習規(guī)律,理論與實踐相結(jié)合,提高學生的實踐能力。
本書為新形態(tài)一體化教材,配有豐富的教學資源,包括微課、教學大綱、課程標準、教學課件、案例源碼、課后習題及習題答案等。本書同時配套建設了在線開放課程,學習者可登錄智慧職教MOOC學院平臺,在“Python程序設計”頁面進行學習。本書可作為計算機軟件技術(shù)專業(yè)、大數(shù)據(jù)技術(shù)應用專業(yè)及其他專業(yè)的專業(yè)教材,也可作為數(shù)據(jù)采集技術(shù)學習者的自學參考書[1] 。
數(shù)據(jù)采集技術(shù)—Python網(wǎng)絡爬蟲項目化教程教材目錄
前輔文
項目1爬取學生信息
1.1爬蟲程序開發(fā)環(huán)境
1.1.1爬蟲程序簡介
1.1.2Python開發(fā)環(huán)境搭建
1.2FlaskWeb網(wǎng)站
1.2.1Flask簡介
1.2.2Urllib程序包訪問Web網(wǎng)站
1.3GET方法訪問網(wǎng)站
1.3.1客戶端GET方式發(fā)送數(shù)據(jù)
1.3.2服務器獲取GET發(fā)送的數(shù)據(jù)
1.4POST方法向網(wǎng)站發(fā)送數(shù)據(jù)
1.4.1客戶端POST發(fā)送數(shù)據(jù)
1.4.2服務器獲取POST的數(shù)據(jù)
1.4.3GET與POST的混合使用
1.5Web下載文件
1.5.1服務器程序
1.5.2客戶端程序
1.6Web上傳文件
1.6.1上傳二進制數(shù)據(jù)
1.6.2服務器程序
1.6.3客戶端程序
1.7Web學生管理程序
1.7.1定義通訊協(xié)議
1.7.2服務器程序
1.7.3客戶端程序
1.8正則表達式
1.8.1正則表達式規(guī)則
1.8.2查找匹配字符串
1.9實踐項目—爬取學生信息
1.9.1項目簡介
1.9.2服務器程序
1.9.3客戶端程序
練習一
項目2爬取天氣預報數(shù)據(jù)
2.1HTML文檔結(jié)構(gòu)與文檔樹
2.1.1HTML文檔結(jié)構(gòu)
2.1.2HTML文檔樹
2.2BeautifulSoup裝載HTML文檔
2.2.1BeautifulSoup的安裝
2.2.2BeautifulSoup裝載HTML文檔
2.3BeautifulSoup查找文檔元素
2.3.1查找HTML元素
2.3.2獲取元素的屬性值
2.3.3獲取元素包含的文本值
2.3.4高級查找
2.4BeautifulSoup遍歷文檔元素
2.4.1獲取元素結(jié)點的父結(jié)點
2.4.2獲取元素結(jié)點的直接子元素結(jié)點
2.4.3獲取元素結(jié)點的所有子孫元素結(jié)點
2.4.4獲取元素結(jié)點的兄弟結(jié)點
2.5BeautifulSoup使用CSS語法查找元素
2.5.1使用CSS語法
2.5.2屬性的語法規(guī)則
2.5.3Select查找子孫結(jié)點
2.5.4Select查找直接子結(jié)點
2.5.5Select查找兄弟結(jié)點
2.6實踐項目—爬取天氣預報數(shù)據(jù)
2.6.1項目簡介
2.6.2HTML代碼分析
2.6.3爬取天氣預報數(shù)據(jù)
2.6.4爬取與存儲天氣預報數(shù)據(jù)
練習二
項目3爬取網(wǎng)站圖像文件
3.1網(wǎng)站樹的爬取路徑
3.1.1Web服務器網(wǎng)站
3.1.2遞歸程序爬取數(shù)據(jù)
3.1.3深度優(yōu)先爬取數(shù)據(jù)
3.1.4廣度優(yōu)先爬取數(shù)據(jù)
3.2網(wǎng)站圖的爬取路徑
3.2.1復雜的Web網(wǎng)站
3.2.2改進深度優(yōu)先客戶端程序
3.2.3改進廣度優(yōu)先客戶端程序
3.3Python實現(xiàn)多線程
3.3.1Python的前后臺線程
3.3.2線程的等待
3.3.3多線程與資源
3.4爬取網(wǎng)站復雜數(shù)據(jù)
3.4.1Web服務器網(wǎng)站
3.4.2爬取網(wǎng)站的復雜數(shù)據(jù)
3.4.3爬取程序的改進
3.5實踐項目——爬取網(wǎng)站的圖像文件
3.5.1項目簡介
3.5.2單線程爬取圖像的程序
3.5.3多線程爬取圖像的程序
練習三
項目4爬取網(wǎng)站圖書數(shù)據(jù)
4.1Scrapy框架爬蟲簡介
4.1.1安裝Scrapy框架
4.1.2建立Scrapy項目
4.1.3入口函數(shù)與入口地址
4.1.4Python的yield語句
4.2Scrapy中查找HTML元素
4.2.1Scrapy的Xpath簡介
4.2.2Xpath查找HTML元素
4.3Scrapy爬取與存儲數(shù)據(jù)
4.3.1建立Web網(wǎng)站
4.3.2編寫數(shù)據(jù)項目類
4.3.3編寫爬蟲程序MySpider
4.3.4編寫數(shù)據(jù)管道處理類
4.3.5設置Scrapy的配置文件
4.4Scrapy爬取網(wǎng)站數(shù)據(jù)
4.4.1建立Web網(wǎng)站
4.4.2編寫Scrapy爬蟲程序
4.5實踐項目—爬取當當網(wǎng)站圖書數(shù)據(jù)
4.5.1網(wǎng)站圖書數(shù)據(jù)分析
4.5.2網(wǎng)站圖書數(shù)據(jù)提取
4.5.3網(wǎng)站圖書數(shù)據(jù)爬取
練習四
結(jié)語
參考文獻[1]