您的瀏覽器不支持JavaScript,請開(kāi)啟后繼續
Python網(wǎng)絡(luò )爬蟲(chóng)技術(shù)手冊:基礎·實(shí)戰·強化

Python網(wǎng)絡(luò )爬蟲(chóng)技術(shù)手冊:基礎·實(shí)戰·強化

  • 作者
  • 明日科技 編著(zhù)

《Python網(wǎng)絡(luò )爬蟲(chóng)技術(shù)手冊:基礎·實(shí)戰·強化》是“計算機科學(xué)與技術(shù)手冊系列”圖書(shū)之一,該系列圖書(shū)內容全面,以理論聯(lián)系實(shí)際、能學(xué)到并做到為宗旨,以技術(shù)為核心,以案例為輔助,引領(lǐng)讀者全面學(xué)習基礎技術(shù)、代碼編寫(xiě)方法和具體應用項目,旨在為想要進(jìn)入相應領(lǐng)域或者已經(jīng)在該領(lǐng)域深耕多年的技術(shù)人員提供新而全的技術(shù)性?xún)热菁鞍咐? 本書(shū)是一本側重編程基礎+實(shí)踐的Python爬蟲(chóng)圖書(shū)...


  • ¥128.00

ISBN: 978-7-122-40009-3

版次: 1

出版時(shí)間: 2022-01-01

圖書(shū)介紹

ISBN:978-7-122-40009-3

語(yǔ)種:漢文

開(kāi)本:16

出版時(shí)間:2022-01-01

裝幀:平

頁(yè)數:378

編輯推薦

1.內容全面,案例豐富 2.視頻教學(xué),圖文并茂 3.在線(xiàn)服務(wù),紙電同步

圖書(shū)前言

從工業(yè)4.0到“十四五”規劃,我國信息時(shí)代正式踏上新的階梯,電子設備已經(jīng)普及,在人們的日常生活中隨處可見(jiàn)。信息社會(huì )給人們帶來(lái)了極大的便利,信息捕獲、信息處理分析等在各個(gè)行業(yè)得到普遍應用,推動(dòng)整個(gè)社會(huì )向前穩固發(fā)展。
計算機設備和信息數據的相互融合,對各個(gè)行業(yè)來(lái)說(shuō)都是一次非常大的進(jìn)步,已經(jīng)滲入到工業(yè)、農業(yè)、商業(yè)、軍事等領(lǐng)域,同時(shí)其相關(guān)應用產(chǎn)業(yè)也得到一定發(fā)展。就目前來(lái)看,各類(lèi)編程語(yǔ)言的發(fā)展、人工智能相關(guān)算法的應用、大數據時(shí)代的數據處理和分析都是計算機科學(xué)領(lǐng)域各大高校、各個(gè)企業(yè)在不斷攻關(guān)的難題,是挑戰也是機遇。因此,我們策劃編寫(xiě)了“計算機科學(xué)與技術(shù)手冊系列”圖書(shū),旨在為想要進(jìn)入相應領(lǐng)域的初學(xué)者或者已經(jīng)在該領(lǐng)域深耕多年的從業(yè)者提供新而全的技術(shù)性?xún)热?,以及豐富、典型的實(shí)戰案例。
現如今大數據已經(jīng)滲透到每一個(gè)行業(yè)當中,成為重要的生產(chǎn)因素。由于人們不斷對海量數據的挖掘與運用,爬蟲(chóng)工程師在互聯(lián)網(wǎng)數據公司中占據非常重要的地位。
可以制作爬蟲(chóng)的編程語(yǔ)言有多種,其中最受歡迎的便是Python編程語(yǔ)言,該語(yǔ)言簡(jiǎn)單、易學(xué),并且支持多種第三方模塊,使得其應用范圍越來(lái)越廣。本書(shū)側重網(wǎng)絡(luò )爬蟲(chóng)的編程基礎與實(shí)踐,為保證讀者學(xué)以致用,在實(shí)踐方面循序漸進(jìn)地進(jìn)行3個(gè)層次的篇章介紹,即基礎篇、實(shí)戰篇和強化篇。
本書(shū)內容
全書(shū)共分為31章,主要通過(guò)“基礎篇(16章)+實(shí)戰篇(13章)+強化篇(2章)”三大維度一體化的講解方式,具體的學(xué)習結構如下圖所示。
本書(shū)特色
1.突出重點(diǎn)、學(xué)以致用
書(shū)中每個(gè)知識點(diǎn)都結合了簡(jiǎn)單、易懂的示例代碼以及非常詳細的注釋信息,力求讀者能夠快速理解所學(xué)知識,提高學(xué)習效率,縮短學(xué)習路徑。
實(shí)例代碼與運行結果
2.提升思維、綜合運用
本書(shū)以知識點(diǎn)綜合運用的方式,帶領(lǐng)讀者學(xué)習各種趣味性較強的爬蟲(chóng)案例,讓讀者不斷提升編寫(xiě)網(wǎng)絡(luò )爬蟲(chóng)的思維,還可以快速提升對知識點(diǎn)的綜合運用能力,讓讀者能夠回顧以往所學(xué)的知識點(diǎn),并結合新的知識點(diǎn)進(jìn)行綜合應用。
3.綜合技術(shù)、實(shí)際項目
本書(shū)在強化篇中提供了兩個(gè)貼近生活應用的項目,力求通過(guò)實(shí)際應用使讀者更容易地掌握爬蟲(chóng)技術(shù)與應對業(yè)務(wù)的需求。爬蟲(chóng)項目都是根據實(shí)際開(kāi)發(fā)經(jīng)驗總結而來(lái)的,包含了在實(shí)際開(kāi)發(fā)中所遇到的各種問(wèn)題。項目結構清晰、擴展性強,讀者可根據個(gè)人需求進(jìn)行擴展開(kāi)發(fā)。
4.精彩欄目、貼心提示
本書(shū)根據實(shí)際學(xué)習的需要,設置了“注意”“說(shuō)明”等許多貼心的小欄目,輔助讀者輕松理解所學(xué)知識,規避編程陷阱。
本書(shū)由明日科技的Python開(kāi)發(fā)團隊策劃并組織編寫(xiě),主要編寫(xiě)人員有李磊、王國輝、高春艷、馮春龍、李再天、王小科、賽奎春、申小琦、趙寧、張?chǎng)?、周佳星、楊柳、葛忠月、李春林、宋萬(wàn)勇、張寶華、楊麗、劉媛媛、龐鳳、胡冬、梁英、譚暢、何平、李菁菁、依瑩瑩、宋磊等。在編寫(xiě)本書(shū)的過(guò)程中,我們本著(zhù)科學(xué)、嚴謹的態(tài)度,力求精益求精,但疏漏之處在所難免,敬請廣大讀者批評斧正。
感謝您閱讀本書(shū),希望本書(shū)能成為您編程路上的領(lǐng)航者。
祝您讀書(shū)快樂(lè )!

編著(zhù)者

精彩書(shū)摘

《Python網(wǎng)絡(luò )爬蟲(chóng)技術(shù)手冊:基礎·實(shí)戰·強化》是“計算機科學(xué)與技術(shù)手冊系列”圖書(shū)之一,該系列圖書(shū)內容全面,以理論聯(lián)系實(shí)際、能學(xué)到并做到為宗旨,以技術(shù)為核心,以案例為輔助,引領(lǐng)讀者全面學(xué)習基礎技術(shù)、代碼編寫(xiě)方法和具體應用項目,旨在為想要進(jìn)入相應領(lǐng)域或者已經(jīng)在該領(lǐng)域深耕多年的技術(shù)人員提供新而全的技術(shù)性?xún)热菁鞍咐?
本書(shū)是一本側重編程基礎+實(shí)踐的Python爬蟲(chóng)圖書(shū),從基礎、實(shí)戰、強化三個(gè)層次循序漸進(jìn)地介紹了網(wǎng)絡(luò )爬蟲(chóng)入門(mén)必備知識:基礎篇主要講解網(wǎng)絡(luò )爬蟲(chóng)的基礎內容;實(shí)戰篇主要講解目前應用最廣的各類(lèi)數據庫爬蟲(chóng)相關(guān)技術(shù)和案例;強化篇結合數據庫、數據分析、可視化等進(jìn)行大型項目綜合實(shí)戰練習。本書(shū)內容充實(shí),給讀者提供了較為豐富全面的技術(shù)支持和案例強化,通過(guò)各種示例將學(xué)習與應用相結合,打造輕松學(xué)習、零壓力學(xué)習的環(huán)境,通過(guò)案例對所學(xué)知識進(jìn)行綜合應用,通過(guò)開(kāi)發(fā)實(shí)際項目將網(wǎng)絡(luò )爬蟲(chóng)的各項技能應用到實(shí)際工作中,幫助讀者實(shí)現學(xué)以致用,快速掌握網(wǎng)絡(luò )爬蟲(chóng)的各項技能。
本書(shū)提供豐富的資源,包含109個(gè)實(shí)例、13個(gè)實(shí)戰案例、2個(gè)應用強化項目,力求為讀者打造一本基礎+實(shí)戰+強化一體化的、精彩的Python網(wǎng)絡(luò )爬蟲(chóng)圖書(shū)。
本書(shū)不僅適合初學(xué)者、數據采集相關(guān)技術(shù)人員、對數據感興趣的人員,而且適合從事其他崗位想掌握一定的數據采集能力的職場(chǎng)人員閱讀參考。

目錄

第1篇 基礎篇
第1章 爬蟲(chóng)基礎
1.1 什么是網(wǎng)絡(luò )爬蟲(chóng) 2
1.2 網(wǎng)絡(luò )爬蟲(chóng)的分類(lèi) 3
1.3 網(wǎng)絡(luò )爬蟲(chóng)的原理 3
1.4 HTTP基本原理 3
1.4.1 什么是URL 3
1.4.2 HTTP協(xié)議 4
1.4.3 HTTP與Web服務(wù)器 4
1.4.4 瀏覽器中的請求和響應 5
1.5 網(wǎng)頁(yè)的基本結構 6
1.5.1 了解HTML 6
1.5.2 了解CSS 6
1.5.3 了解JavaScript 8

第2章 搭建網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)環(huán)境
2.1 Anaconda的安裝 10
2.2 下載與安裝PyCharm 13
2.3 配置PyCharm 16
2.4 測試PyCharm 18

第3章 網(wǎng)絡(luò )請求urllib模塊
3.1 了解urllib 20
3.2 發(fā)送網(wǎng)絡(luò )請求 20
3.2.1 發(fā)送GET請求 21
實(shí)例3.1 演示常用的方法與屬性 21
3.2.2 發(fā)送POST請求 22
實(shí)例3.2 發(fā)送POST請求 22
3.2.3 請求超時(shí) 22
實(shí)例3.3 處理網(wǎng)絡(luò )超時(shí) 23
3.2.4 設置請求頭 23
實(shí)例3.4 設置請求頭 24
3.2.5 獲取與設置Cookie 25
實(shí)例3.5 模擬登錄 25
實(shí)例3.6 獲取Cookie 27
實(shí)例3.7 保存Cookie文件 27
實(shí)例3.8 獲取登錄后頁(yè)面中的信息 28
3.2.6 代理IP的設置 29
實(shí)例3.9 設置代理IP 29
3.3 處理請求異常 29
實(shí)例3.10 處理URLError異常 29
實(shí)例3.11 使用HTTPError類(lèi)捕獲異常 30
實(shí)例3.12 雙重異常的捕獲 31
3.4 解析URL 31
3.4.1 URL的拆分(urlparse、urlsplit) 31
實(shí)例3.13 使用urlparse()方法拆分URL 32
實(shí)例3.14 使用urlsplit()方法拆分URL 32
3.4.2 URL的組合(urlunparse、urlunsplit) 33
實(shí)例3.15 使用urlunparse()方法組合URL 33
實(shí)例3.16 使用urlunsplit()方法組合URL 34
3.4.3 URL的連接(urljoin) 34
實(shí)例3.17 使用urljoin()方法連接URL 34
3.4.4 URL的編碼與解碼(urlencode、quote、unquote) 35
實(shí)例3.18 使用urlencode()方法編碼請求參數 35
實(shí)例3.19 使用quote()方法編碼字符串參數 35
實(shí)例3.20 使用unquote()方法解碼請求參數 36
3.4.5 URL的參數轉換 36
實(shí)例3.21 使用parse_qs()方法將參數轉換為字典類(lèi)型 36
實(shí)例3.22 使用parse_qsl()方法將參數轉換為元組所組成的列表 36
3.5 綜合案例——爬取“百度熱搜” 37
3.5.1 分析數據 37
3.5.2 實(shí)現網(wǎng)絡(luò )爬蟲(chóng) 37
3.6 實(shí)戰練習 39

第4章 網(wǎng)絡(luò )請求urllib3模塊
4.1 了解urllib3 40
4.2 發(fā)送網(wǎng)絡(luò )請求 41
4.2.1 發(fā)送GET請求 41
實(shí)例4.1 發(fā)送GET請求 41
實(shí)例4.2 發(fā)送多個(gè)請求 41
4.2.2 發(fā)送POST請求 42
實(shí)例4.3 發(fā)送POST請求 42
4.2.3 重試請求 43
實(shí)例4.4 重試請求 43
4.2.4 獲得響應內容 43
實(shí)例4.5 獲取響應頭信息 43
實(shí)例4.6 處理服務(wù)器返回的JSON信息 44
實(shí)例4.7 處理服務(wù)器返回二進(jìn)制數據 44
4.2.5 設置請求頭 45
實(shí)例4.8 設置請求頭 45
4.2.6 設置超時(shí) 46
實(shí)例4.9 設置超時(shí) 46
4.2.7 設置代理IP 47
實(shí)例4.10 設置代理IP 47
4.3 上傳文件 47
實(shí)例4.11 上傳文本文件 47
實(shí)例4.12 上傳圖片文件 48
4.4 綜合案例——爬取必應壁紙 48
4.4.1 分析數據 48
4.4.2 實(shí)現網(wǎng)絡(luò )爬蟲(chóng) 49
4.5 實(shí)戰練習 51

第5章 網(wǎng)絡(luò )請求requests模塊
5.1 基本請求方式 52
5.1.1 發(fā)送GET請求 53
實(shí)例5.1 發(fā)送GET請求不帶參數 53
5.1.2 設置編碼 53
實(shí)例5.2 獲取網(wǎng)頁(yè)源碼 53
5.1.3 二進(jìn)制數據的爬取 54
實(shí)例5.3 下載百度logo圖片 54
5.1.4 發(fā)送GET(帶參數)請求 54
5.1.5 發(fā)送POST請求 55
實(shí)例5.4 發(fā)送POST請求 55
5.2 高級請求方式 56
5.2.1 設置請求頭 56
實(shí)例5.5 設置請求頭 56
5.2.2 Cookie的驗證 57
實(shí)例5.6 模擬豆瓣登錄 57
5.2.3 會(huì )話(huà)請求 58
實(shí)例5.7 會(huì )話(huà)請求 58
5.2.4 驗證請求 58
實(shí)例5.8 驗證請求 59
5.2.5 網(wǎng)絡(luò )超時(shí)與異常 59
實(shí)例5.9 網(wǎng)絡(luò )超時(shí)與異常 59
實(shí)例5.10 判斷網(wǎng)絡(luò )異常 60
5.2.6 文件上傳 60
實(shí)例5.11 上傳圖片文件 60
5.2.7 代理的應用 61
實(shí)例5.12 使用代理IP發(fā)送請求 61
5.3 綜合案例——爬取糗事百科(視頻) 62
5.3.1 分析數據 62
5.3.2 實(shí)現爬蟲(chóng) 63
5.4 實(shí)戰練習 64

第6章 requests模塊的兩大擴展
6.1 安裝requests-cache模塊 65
6.2 爬蟲(chóng)緩存的應用 66
6.3 多功能requests-html模塊 68
6.3.1 發(fā)送網(wǎng)絡(luò )請求 68
6.3.2 提取數據 70
實(shí)例6.1 爬取即時(shí)新聞 70
6.3.3 獲取動(dòng)態(tài)渲染的數據 73
實(shí)例6.2 獲取動(dòng)態(tài)渲染的數據 73
6.4 綜合案例——爬取百度天氣 75
6.4.1 分析數據 75
6.4.2 實(shí)現爬蟲(chóng) 76
6.5 實(shí)戰練習 77

第7章 正則表達式解析
7.1 通過(guò)search()匹配字符串 78
7.1.1 匹配指定開(kāi)頭的字符串 79
實(shí)例7.1 搜索第一個(gè)以“mr_”開(kāi)頭的字符串 79
7.1.2 可選匹配字符串中的內容 79
實(shí)例7.2 可選匹配字符串中的內容 79
7.1.3 使用“b”匹配字符串的邊界 80
實(shí)例7.3 使用“b”匹配字符串的邊界 80
7.2 通過(guò)findall()匹配字符串 80
7.2.1 匹配所有以指定字符開(kāi)頭的字符串 81
實(shí)例7.4 匹配所有以“mr_”開(kāi)頭的字符串 81
7.2.2 貪婪匹配法 81
實(shí)例7.5 使用“.*”實(shí)現貪婪匹配字符串 81
7.2.3 非貪婪匹配法 82
實(shí)例7.6 使用“.*?”實(shí)現非貪婪匹配字符串 82
7.3 處理字符串 83
7.3.1 使用sub()方法替換字符串 83
實(shí)例7.7 使用sub()方法替換字符串 83
7.3.2 使用split()方法分割字符串 84
實(shí)例7.8 使用split()方法分割字符串 84
7.4 綜合案例——爬取QQ音樂(lè )熱歌榜 85
7.4.1 分析數據 85
7.4.2 實(shí)現爬蟲(chóng) 85
7.5 實(shí)戰練習 86

第8章 lxml解析模塊
8.1 了解XPath 87
8.2 XPath的基本操作 88
8.2.1 HTML的解析 88
實(shí)例8.1 解析本地的HTML文件 88
實(shí)例8.2 解析字符串類(lèi)型的HTML代碼 88
實(shí)例8.3 解析服務(wù)器返回的HTML代碼 89
8.2.2 獲取所有標簽 90
實(shí)例8.4 獲取HTML代碼的所有標簽 90
8.2.3 獲取子標簽 91
實(shí)例8.5 獲取一個(gè)標簽中的子標簽 91
實(shí)例8.6 獲取子孫標簽 92
8.2.4 獲取父標簽 92
實(shí)例8.7 獲取一個(gè)標簽的父標簽 92
8.2.5 獲取文本 93
實(shí)例8.8 獲取HTML代碼中的文本 93
8.2.6 屬性匹配 94
實(shí)例8.9 使用“【@...】”實(shí)現標簽屬性的匹配 94
實(shí)例8.10 屬性多值匹配 94
實(shí)例8.11 一個(gè)標簽中多個(gè)屬性的匹配 95
8.2.7 獲取屬性值 96
實(shí)例8.12 獲取屬性所對應的值 96
實(shí)例8.13 使用索引按序獲取屬性對應的值 97
8.2.8 使用標簽軸獲取標簽內容 98
實(shí)例8.14 使用標簽軸的方式獲取標簽內容 98
8.3 綜合案例——爬取豆瓣新書(shū)速遞 99
8.3.1 分析數據 99
8.3.2 實(shí)現爬蟲(chóng) 99
8.4 實(shí)戰練習 100

第9章 BeautifulSoup解析模塊
9.1 BeautifulSoup的基礎應用  101
9.1.1 安裝BeautifulSoup 101
9.1.2 解析器的區別 102
9.1.3 解析HTML 103
實(shí)例9.1 解析HTML代碼 103
9.2 獲取標簽內容 103
9.2.1 獲取標簽對應的代碼 104
實(shí)例9.2 獲取標簽對應的代碼 104
9.2.2 獲取標簽屬性 105
實(shí)例9.3 獲取標簽屬性 105
9.2.3 獲取標簽內的文本 106
9.2.4 嵌套獲取標簽內容 106
實(shí)例9.4 嵌套獲取標簽內容 106
9.2.5 關(guān)聯(lián)獲取 107
實(shí)例9.5 獲取子標簽 107
實(shí)例9.6 獲取子孫標簽 108
實(shí)例9.7 獲取父標簽 109
實(shí)例9.8 獲取兄弟標簽 109
9.3 利用方法獲取內容 111
9.3.1 find_all()方法 111
實(shí)例9.9 find_all(name)通過(guò)標簽名稱(chēng)獲取內容 111
實(shí)例9.10 find_all(attrs)通過(guò)指定屬性獲取內容 112
實(shí)例9.11 find_all(text)獲取標簽中的文本 112
9.3.2 find()方法 113
實(shí)例9.12 獲取第一個(gè)匹配的標簽內容 113
9.3.3 其他方法 114
9.4 CSS選擇器 114
實(shí)例9.13 使用CSS選擇器獲取標簽內容 115
9.5 綜合案例——爬取百度貼吧(熱議榜) 116
9.5.1 分析數據 116
9.5.2 實(shí)現爬蟲(chóng) 116
9.6 實(shí)戰練習 117

第10章 爬取動(dòng)態(tài)渲染的數據
10.1 selenium模塊 118
10.1.1 配置selenium環(huán)境 118
10.1.2 下載瀏覽器驅動(dòng) 119
10.1.3 selenium的應用 119
實(shí)例10.1 獲取京東商品信息 119
10.1.4 selenium的常用方法 120
10.2 Splash服務(wù) 121
10.2.1 搭建Splash環(huán)境 122
10.2.2 Splash的API接口 123
實(shí)例10.2 獲取百度首頁(yè)logo圖片的鏈接 123
實(shí)例10.3 獲取百度首頁(yè)截圖 124
實(shí)例10.4 獲取請求頁(yè)面的json信息 125
10.2.3 自定義lua腳本 125
實(shí)例10.5 獲取百度渲染后的HTML代碼 125
10.3 綜合案例——爬取豆瓣閱讀(連載榜) 127
10.3.1 分析數據 127
10.3.2 實(shí)現爬蟲(chóng) 128
10.4 實(shí)戰練習 128

第11章 數據清洗與文件存儲
11.1 使用pandas進(jìn)行數據清洗 130
11.1.1 常見(jiàn)的兩種數據結構 130
11.1.2 pandas數據的基本操作 134
11.1.3 處理NaN數據 138
11.1.4 重復數據的篩選 140
11.2 常見(jiàn)文件的基本操作 142
11.2.1 存取TXT文件 142
實(shí)例11.1 TXT文件存儲 143
實(shí)例11.2 讀取message.txt文件中的前9個(gè)字符 143
實(shí)例11.3 從文件的第14個(gè)字符開(kāi)始讀取8個(gè)字符 144
實(shí)例11.4 讀取一行 144
實(shí)例11.5 讀取全部行 145
11.2.2 存取CSV文件 146
11.2.3 存取Excel文件 148
11.3 綜合案例——爬取豆瓣小組(討論精選) 148
11.3.1 分析數據 149
11.3.2 實(shí)現爬蟲(chóng) 149
11.4 實(shí)戰練習 149

第12章 數據庫存儲
12.1 SQLite數據庫 151
12.1.1 創(chuàng  )建數據庫文件 151
12.1.2 操作SQLite 152
12.2 MySQL數據庫 153
12.2.1 下載MySQL 153
12.2.2 安裝MySQL服務(wù)器 154
12.2.3 配置MySQL 158
12.2.4 安裝PyMySQL數據庫操作模塊 159
12.2.5 數據庫的連接 160
實(shí)例12.1 連接數據庫 160
12.2.6 數據表的創(chuàng  )建 160
實(shí)例12.2 創(chuàng  )建數據表 161
12.2.7 數據表的基本操作 161
實(shí)例12.3 操作數據表 161
12.3 綜合案例——爬取下廚房(家常菜單) 162
12.3.1 分析數據 162
12.3.2 實(shí)現爬蟲(chóng) 162
12.4 實(shí)戰練習 164

第13章 App抓包
13.1 下載與安裝Charles抓包工具  165
13.2 PC端證書(shū)的安裝 167
13.3 設置SSL代理 169
13.4 網(wǎng)絡(luò )配置 169
13.5 手機證書(shū)的安裝 170
13.6 綜合案例——抓取手機微信新聞的地址 172
13.7 實(shí)戰練習 173

第14章 驗證碼識別
14.1 字符驗證碼 174
14.1.1 配置OCR 174
14.1.2 下載驗證碼圖片 175
實(shí)例14.1 下載驗證碼圖片 175
14.1.3 識別圖片驗證碼 176
實(shí)例14.2 識別圖片驗證碼 176
14.2 第三方驗證碼識別 178
實(shí)例14.3 第三方打碼平臺 178
14.3 滑動(dòng)拼圖驗證碼 181
實(shí)例14.4 滑動(dòng)拼圖驗證碼 181
14.4 綜合案例——識別隨機生成的驗證碼 182
14.5 實(shí)戰練習 183

第15章 Scrapy爬蟲(chóng)框架的基本應用
15.1 了解Scrapy爬蟲(chóng)框架 184
15.2 配置Scrapy爬蟲(chóng)框架 185
15.2.1 使用Anaconda安裝Scrapy 185
15.2.2 Windows系統下配置Scrapy 186
15.3 Scrapy的基本用法 187
15.3.1 創(chuàng  )建項目 187
15.3.2 創(chuàng  )建爬蟲(chóng) 188
實(shí)例15.1 爬取網(wǎng)頁(yè)代碼并保存HTML文件 188
15.3.3 提取數據 190
實(shí)例15.2 使用XPath表達式獲取多條信息 191
實(shí)例15.3 翻頁(yè)提取數據 191
實(shí)例15.4 包裝結構化數據 192
15.4 綜合案例——爬取NBA得分排名 192
15.4.1 分析數據 193
15.4.2 實(shí)現爬蟲(chóng) 193
15.5 實(shí)戰練習 194

第16章 Scrapy爬蟲(chóng)框架的高級應用
16.1 編寫(xiě)Item Pipeline 195
16.1.1 Item Pipeline的核心方法 195
16.1.2 將信息存儲到數據庫中 196
實(shí)例16.1 將京東數據存儲至數據庫 196
16.2 文件下載 199
實(shí)例16.2 下載京東外設商品圖片 200
16.3 自定義中間件 201
16.3.1 設置隨機請求頭 201
實(shí)例16.3 設置隨機請求頭 202
16.3.2 設置Cookies 203
實(shí)例16.4 通過(guò)Cookies模擬自動(dòng)登錄 204
16.3.3 設置代理IP 205
實(shí)例16.5 隨機代理中間件 206
16.4 綜合案例——爬取NBA球員資料 207
16.4.1 分析數據 207
16.4.2 實(shí)現爬蟲(chóng) 208
16.5 實(shí)戰練習 211

第2篇 實(shí)戰篇
第17章 基于正則表達式爬取編程e學(xué)網(wǎng)視頻(requests+re)
17.1 案例效果預覽 213
17.2 案例準備 214
17.3 業(yè)務(wù)流程 214
17.4 實(shí)現過(guò)程 214
17.4.1 查找視頻頁(yè)面 214
17.4.2 分析視頻地址 215
17.4.3 實(shí)現視頻下載 215

第18章 基于正則表達式爬取免費代理IP(requests+pandas+re+random)
18.1 案例效果預覽 217
18.2 案例準備 218
18.3 業(yè)務(wù)流程 218
18.4 實(shí)現過(guò)程 219
18.4.1 分析請求地址 219
18.4.2 確認數據所在位置 219
18.4.3 爬取代理IP并保存 220
18.4.4 檢測代理IP 221

第19章 基于beautifulsoup4爬取酷狗TOP500音樂(lè )榜單(requests+bs4+time+random)
19.1 案例效果預覽 224
19.2 案例準備 225
19.3 業(yè)務(wù)流程 225
19.4 實(shí)現過(guò)程 225
19.4.1 分析每頁(yè)的請求地址 225
19.4.2 分析信息所在標簽位置 226
19.4.3 編寫(xiě)爬蟲(chóng)代碼 227

第20章 基于beautifulsoup4爬取段子網(wǎng)(requests+beautifulsoup4+time+random)
20.1 案例效果預覽 229
20.2 案例準備 230
20.3 業(yè)務(wù)流程 230
20.4 實(shí)現過(guò)程 230
20.4.1 分析每頁(yè)請求地址 230
20.4.2 分析詳情頁(yè)請求地址 231
20.4.3 確認段子各種信息的HTML代碼位置 232
20.4.4 編寫(xiě)爬蟲(chóng)代碼 232

第21章 基于beautifulsoup4爬取汽車(chē)之家圖片(beautifulsoup4+Pillow+PyQt5+urllib)
21.1 案例效果預覽 234
21.2 案例準備 235
21.3 業(yè)務(wù)流程 235
21.4 實(shí)現過(guò)程 236
21.4.1 登錄窗體 236
21.4.2 設計主窗體 237
21.4.3 編寫(xiě)爬蟲(chóng) 237
21.4.4 啟動(dòng)爬蟲(chóng) 239
21.4.5 查看原圖 241

第22章 使用多進(jìn)程爬取電影資源(requests+bs4+multiprocessing +re+time)
22.1 案例效果預覽 242
22.2 案例準備 242
22.3 業(yè)務(wù)流程 243
22.4 實(shí)現過(guò)程 243
22.4.1 分析請求地址 243
22.4.2 爬取電影詳情頁(yè)地址 244
22.4.3 爬取電影信息與下載地址 245

第23章 基于多進(jìn)程實(shí)現二手房數據查詢(xún)(requests_html+pandas+matplotlib+multiprocessing)
23.1 案例效果預覽 248
23.2 案例準備 249
23.3 業(yè)務(wù)流程 249
23.4 實(shí)現過(guò)程 250
23.4.1 確認二手房數據位置 250
23.4.2 二手房數據的爬取 251
23.4.3 數據可視化顯示 253

第24章 基于動(dòng)態(tài)渲染頁(yè)面爬取京東圖書(shū)銷(xiāo)量排行榜(requests_html+sqlite3+os)
24.1 案例效果預覽 256
24.2 案例準備 257
24.3 業(yè)務(wù)流程 257
24.4 實(shí)現過(guò)程 257
24.4.1 分析請求地址 257
24.4.2 確認數據在網(wǎng)頁(yè)HTML代碼中的位置 257
24.4.3 編寫(xiě)爬蟲(chóng)程序 258

第25章 爬取中關(guān)村在線(xiàn)中的手機數據(requests_html+pymysql+random+time)
25.1 案例效果預覽 260
25.2 案例準備 260
25.3 業(yè)務(wù)流程 261
25.4 實(shí)現過(guò)程 261
25.4.1 分析手機主頁(yè)中每頁(yè)地址 261
25.4.2 分析每個(gè)手機的詳情頁(yè)地址 262
25.4.3 確認詳情頁(yè)手機數據位置 262
25.4.4 創(chuàng  )建MySQL數據表 262
25.4.5 編寫(xiě)爬蟲(chóng)程序 263

第26章 基于異步請求爬取北、上、廣、深租房信息(requests+lxml+pandas+aiohttp+asyncio)
26.1 案例效果預覽 267
26.2 案例準備 267
26.3 業(yè)務(wù)流程 268
26.4 實(shí)現過(guò)程 268
26.4.1 獲取租房信息總頁(yè)數 268
26.4.2 確認數據所在的HTML代碼位置 271
26.4.3 編寫(xiě)爬蟲(chóng)提取數據 272

第27章 基于XPath爬取豆瓣電影Top250(requests+lxml+time+random)
27.1 案例效果預覽 274
27.2 案例準備 275
27.3 業(yè)務(wù)流程 275
27.4 實(shí)現過(guò)程 275
27.4.1 分析請求地址 275
27.4.2 分析信息位置 276
27.4.3 爬蟲(chóng)代碼的實(shí)現 277

第28章 分布式爬取新聞數據(scrapy+ pymysql+scrapy-redis正則表達式)
28.1 案例效果預覽 279
28.2 案例準備 280
28.3 業(yè)務(wù)流程 280
28.4 實(shí)現過(guò)程 280
28.4.1 Redis數據庫的安裝 280
28.4.2 安裝scrapy-redis模塊 281
28.4.3 分析請求地址 282
28.4.4 創(chuàng  )建數據表(MySQL) 282
28.4.5 創(chuàng  )建Scrapy項目 283
28.4.6 分布式爬蟲(chóng)的啟動(dòng) 286

第29章 微信智能機器人(Flask+小米球ngrok)
29.1 案例效果預覽 290
29.2 案例準備 291
29.3 業(yè)務(wù)流程 291
29.4 微信公眾平臺開(kāi)發(fā)必備 291
29.4.1 注冊訂閱號 291
29.4.2 公眾號基本配置 292
29.5 內網(wǎng)穿透工具 293
29.5.1 內網(wǎng)穿透工具簡(jiǎn)介 293
29.5.2 下載安裝 293
29.5.3 測試外網(wǎng)域名 294
29.6 爬取糗事百科笑話(huà) 295
29.6.1 頁(yè)面分析 295
29.6.2 隨機爬取一條笑話(huà) 295
29.7 爬取天氣信息 296
29.7.1 頁(yè)面分析 296
29.7.2 爬取天氣信息 297
29.8 微信智能機器人的實(shí)現 298
29.8.1 校驗簽名 298
29.8.2 填寫(xiě)配置信息 299
29.8.3 接收文本消息 299
29.8.4 整合笑話(huà)和天氣功能 300

第3篇 強化篇
第30章 電商管家(PyQt5+pyqt5-tools+requests+pymysql+matplotlib)
30.1 系統需求分析 303
30.1.1 系統概述 303
30.1.2 系統可行性分析 304
30.1.3 系統用戶(hù)角色分配 304
30.1.4 功能性需求分析 304
30.1.5 非功能性需求分析 304
30.2 系統設計 304
30.2.1 系統功能結構 304
30.2.2 系統業(yè)務(wù)流程 305
30.2.3 系統預覽 305
30.3 系統開(kāi)發(fā)必備 306
30.3.1 開(kāi)發(fā)工具準備 306
30.3.2 文件夾組織結構 306
30.4 主窗體的UI設計 306
30.4.1 主窗體的布局 306
30.4.2 主窗體顯示效果 308
30.5 設計數據庫表結構 308
30.6 爬取數據 309
30.6.1 獲取京東商品熱賣(mài)排行信息 309
30.6.2 獲取價(jià)格信息 313
30.6.3 獲取評價(jià)信息 314
30.6.4 定義數據庫操作文件 316
30.7 主窗體的數據展示 319
30.7.1 顯示前10名熱賣(mài)榜圖文信息 319
30.7.2 顯示關(guān)注商品列表 322
30.7.3 顯示商品分類(lèi)比例餅圖 327
30.8 外設產(chǎn)品熱賣(mài)榜 330
30.9 商品預警 332
30.9.1 關(guān)注商品中、差評預警 332
30.9.2 關(guān)注商品價(jià)格變化預警 334
30.9.3 更新關(guān)注商品信息 336
30.10 系統功能 337

第31章 火車(chē)票智能分析工具(PyQt5+matplotlib +requests+json+sys+time)?
31.1 系統需求分析 339
31.1.1 系統概述 339
31.1.2 系統可行性分析 340
31.1.3 系統用戶(hù)角色分配 340
31.1.4 功能性需求分析 340
31.1.5 非功能性需求分析 340
31.2 系統設計 341
31.2.1 系統功能結構 341
31.2.2 系統業(yè)務(wù)流程 341
31.2.3 系統預覽 341
31.3 系統開(kāi)發(fā)必備 342
31.3.1 開(kāi)發(fā)工具準備 342
31.3.2 文件夾組織結構 342
31.4 主窗體的UI設計 343
31.4.1 主窗體的布局 343
31.4.2 主窗體顯示效果 347
31.5 爬取數據 347
31.5.1 獲取請求地址與參數 347
31.5.2 下載數據文件 348
31.5.3 查詢(xún)所有車(chē)票信息 352
31.5.4 臥鋪票的查詢(xún)與分析 354
31.5.5 查詢(xún)車(chē)票起售時(shí)間 356
31.6 主窗體的數據顯示 358
31.6.1 車(chē)票查詢(xún)區域的數據顯示 358
31.6.2 臥鋪售票分析區域的數據顯示 364
31.6.3 臥鋪車(chē)票數量走勢圖的顯示 366
31.6.4 查詢(xún)車(chē)票起售時(shí)間的數據顯示 369

附錄
附錄1 數據解析速查表 371
附錄2 PyCharm 常用快捷鍵 377
附錄3 PyCharm 常用設置 378

發(fā)送電子郵件聯(lián)系我們