python網路爬蟲從入門到實踐第2版

python網路爬蟲從入門到實踐第2版

《python網路爬蟲從入門到實踐第2版》是2019年機械工業出版社出版的圖書,作者是唐松。本書內容包括三部分:基礎部分、進階部分和項目實踐。基礎部分(第1~7章)主要介紹爬蟲的三個步驟——獲取網頁、解析網頁和存儲數據,並通過諸多示例的講解,讓讀者能夠從基礎內容開始系統性地學習爬蟲技術,並在實踐中提升Python爬蟲水平。

基本介紹

  • 中文名:python網路爬蟲從入門到實踐第2版
  • 作者:唐松
  • 出版社:機械工業出版社
  • ISBN:9787111626879
內容簡介,圖書目錄,作者簡介,

內容簡介

使用Python編寫網路爬蟲程式獲取網際網路上的大數據是當前的熱門專題。本書內容包括三部分:基礎部分、進階部分和項目實踐。基礎部分(第1~7章)主要介紹爬蟲的三個步驟——獲取網頁、解析網頁和存儲數據,並通過諸多示例的講解,讓讀者能夠從基礎內容開始系統性地學習爬蟲技術,並在實踐中提升Python爬蟲水平。進階部分(第8~13章)包括多執行緒的並發和並行爬蟲、分散式爬蟲、更換IP等,幫助讀者進一步提升爬蟲水平。項目實踐部分(第14~17章)使用本書介紹的爬蟲技術對幾個真實的網站進行抓取,讓讀者能在讀完本書後根據自己的需求寫出爬蟲程式。

圖書目錄

前言
第1章 網路爬蟲入門1
1.1 為什麼要學網路爬蟲2
1.1.1 網路爬蟲能帶來什麼好處2
1.1.2 能從網路上爬取什麼數據3
1.1.3 應不應該學爬蟲3
1.2 網路爬蟲是否合法3
1.2.1 Robots協定4
1.2.2 網路爬蟲的約束5
1.3 網路爬蟲的基本議題6
1.3.1 Python爬蟲的流程7
1.3.2 三個流程的技術實現7
第2章 編寫個網路爬蟲9
2.1 搭建Python平台10
2.1.1 Python的安裝10
2.1.2 使用pip安裝第三方庫12
2.1.3 使用編輯器Jupyter 編程13
2.1.4 使用編輯器Pycharm編程15
2.2 Python 使用入門18
2.2.1 基本命令18
2.2.2 數據類型19
2.2.3 條件語句和循環語句21
2.2.4 函式23
2.2.5 面向對象編程24
2.2.6 錯誤處理28
2.3 編寫個簡單的爬蟲29
2.3.1 步:獲取頁面29
2.3.2 第二步:提取需要的數據30
2.3.3 第三步:存儲數據32
2.4 Python實踐:基礎鞏固33
2.4.1 Python基礎試題34
2.4.2 參考答案35
2.4.3 自我實踐題38
第3章 靜態網頁抓取39
3.1 安裝Requests40
3.2 獲取回響內容40
3.3 定製Requests41
3.3.1 傳遞URL參數41
3.3.2 定製請求頭42
3.3.3 傳送POST請求43
3.3.4 逾時44
3.4 Requests爬蟲實踐:TOP250電影數據44
3.4.1 網站分析45
3.4.2 項目實踐45
3.4.3 自我實踐題47
第4章 動態網頁抓取48
4.1 動態抓取的實例49
4.2 解析真實地址抓取50
4.3 通過Selenium模擬瀏覽器抓取55
4.3.1 Selenium的安裝與基本介紹55
4.3.2 Selenium的實踐案例57
4.3.3 Selenium獲取文章的所有評論58
4.3.4 Selenium的高級操作61
4.4 Selenium爬蟲實踐:深圳短租數據64
4.4.1 網站分析64
4.4.2 項目實踐66
4.4.3 自我實踐題69
第5章 解析網頁70
5.1 使用正則表達式解析網頁71
5.1.1 re.match方法71
5.1.2 re.search方法74
5.1.3 re.findall方法74
5.2 使用BeautifulSoup解析網頁76
5.2.1 BeautifulSoup的安裝76
5.2.2 使用BeautifulSoup獲取部落格標題77
5.2.3 BeautifulSoup的其他功能78
5.3 使用lxml解析網頁82
5.3.1 lxml的安裝82
5.3.2 使用lxml獲取部落格標題82
5.3.3 XPath的選取方法84
5.4 總結85
5.5 BeautifulSoup爬蟲實踐:房屋價格數據86
5.5.1 網站分析86
5.5.2 項目實踐87
5.5.3 自我實踐題89
第6章 數據存儲90
6.1 基本存儲:存儲至TXT或CSV91
6.1.1 把數據存儲至TXT91
6.1.2 把數據存儲至CSV93
6.2 存儲至MySQL資料庫94
6.2.1 下載安裝MySQL95
6.2.2 MySQL的基本操作99
6.2.3 Python操作MySQL資料庫104
6.3 存儲至MongoDB資料庫106
6.3.1 下載安裝MongoDB107
6.3.2 MongoDB的基本概念110
6.3.3 Python操作MongoDB資料庫112
6.3.4 RoboMongo的安裝與使用113
6.4 總結115
6.5 MongoDB爬蟲實踐:虎撲論壇116
6.5.1 網站分析116
6.5.2 項目實踐117
6.5.3 自我實踐題123
第7章 Scrapy框架124
7.1 Scrapy是什麼125
7.1.1 Scrapy架構125
7.1.2 Scrapy數據流(Data Flow)126
7.1.3 選擇Scrapy還是Requests+bs4127
7.2 安裝Scrapy128
7.3 通過Scrapy抓取部落格128
7.3.1 創建一個Scrapy項目128
7.3.2 獲取部落格網頁並保存129
7.3.3 提取部落格標題和連結數據131
7.3.4 存儲部落格標題和連結數據133
7.3.5 獲取文章內容134
7.3.6 Scrapy的設定檔案136
7.4 Scrapy爬蟲實踐:財經新聞數據137
7.4.1 網站分析137
7.4.2 項目實踐138
7.4.3 自我實踐題141
第8章 提升爬蟲的速度142
8.1 並發和並行,同步和異步143
8.1.1 並發和並行143
8.1.2 同步和異步143
8.2 多執行緒爬蟲144
8.2.1 簡單的單執行緒爬蟲145
8.2.2 學習Python多執行緒145
8.2.3 簡單的多執行緒爬蟲148
8.2.4 使用Queue的多執行緒爬蟲150
8.3 多進程爬蟲153
8.3.1 使用multiprocessing的多進程爬蟲153
8.3.2 使用Pool + Queue的多進程爬蟲155
8.4 多協程爬蟲158
8.5 總結160
第9章 反爬蟲問題163
9.1 為什麼會被反爬蟲164
9.2 反爬蟲的方式有哪些164
9.2.1 不返回網頁165
9.2.2 返回非目標網頁165
9.2.3 獲取數據變難166
9.3 如何“反反爬蟲”167
9.3.1 修改請求頭167
9.3.2 修改爬蟲的間隔時間168
9.3.3 使用代理171
9.3.4 更換IP位址172
9.3.5 登錄獲取數據172
9.4 總結172
第10章 解決中文亂碼173
10.1 什麼是字元編碼174
10.2 Python的字元編碼176
10.3 解決中文編碼問題179
10.3.1 問題1:獲取網站的中文顯示亂碼179
10.3.2 問題2:非法字元拋出異常180
10.3.3 問題3:網頁使用gzip壓縮181
10.3.4 問題4:讀寫檔案的中文亂碼182
10.4 總結184
第11章 登錄與驗證碼處理185
11.1 處理登錄表單186
11.1.1 處理登錄表單186
11.1.2 處理cookies,讓網頁記住你的登錄190
11.1.3 完整的登錄代碼193
11.2 驗證碼的處理194
11.2.1 如何使用驗證碼驗證195
11.2.2 人工方法處理驗證碼197
11.2.3 OCR處理驗證碼200
11.3 總結203
第12章 伺服器採集204

作者簡介

唐松,康奈爾大學信息科學研究生,高考獲全額獎學金就讀於香港中文大學計量行銷和金融學,畢業後與IBM合作A100項目,為美的、中信等公司實踐大數據落地項目,熱衷將數據科學與商業結合套用。

相關詞條

熱門詞條

聯絡我們