數據科學實戰之網絡爬取:Python實踐和示例
內容描述
本書提供了一個完整的、現代的Web抓取指南,使用Python作為編程語言,專為數據科學的讀者編寫,探討了Web抓取和以及其背後的大量Web技術。書中首先簡要概述抓取和現實生活中的用例,解釋了HTTP、HTML和CSS的核心概念作為基礎。後總結了一些佳實踐和一系列的例子,這些數據科學用例匯集了你學到的所有知識。讀者將學習到如何利用已建立的*佳實踐和常用的Python包,處理包括JavaScript、Cookie和常見的web抓取技術。
目錄大綱
譯者序
作者簡介
技術審校者簡介
前言
第一部分網絡爬取基礎
第1章簡介2
1.1什麼是網絡爬取2
1.1.1網絡爬取為什麼用於數據科學2
1.1.2誰在使用網絡爬取4
1.2準備工作6
1.2.1設置6
1.2.2 Python快速入門7
第2章網絡傳輸協議HTTP18
2.1網絡的魔力18
2.2超文本傳輸協議20
2.3 Python中的HTTP—Requests庫25
2.4帶參數的URL查詢字符串28
第3章HTML和CSS36
3.1超文本標記語言HTML36
3.2將瀏覽器用作開發工具38
3.3層疊樣式表CSS42
3.4 Beautiful Soup庫45
3.5有關Beautiful Soup的更多內容53
第二部分高級網絡爬取
第4章深入挖掘HTTP60
4.1使用表單和POST請求60
4.2其他HTTP請求方法71
4.3關於頭的更多信息73
4.4使用Cookie79
4.5 requests庫的session對象87
4.6二進制、JSON和其他形式的內容89
第5章處理JavaScript93
5.1什麼是JavaScript93
5.2爬取JavaScript94
5.3使用Selenium爬取網頁98
5.4 Selenium的更多信息109
第6章從網絡爬取到網絡爬蟲115
6.1什麼是網絡爬蟲115
6.2使用Python實現網絡爬蟲117
6.3數據庫存儲120
第三部分相關管理問題及最佳實踐
第7章網絡爬取涉及的管理和法律問題130
7.1數據科學過程130
7.2網絡爬取適合用於哪裡133
7.3法律問題134
第8章結語139
8.1其他工具139
8.1.1其他Python庫139
8.1.2 Scrapy庫140
8.1.3緩存140
8.1.4代理服務器141
8.1.5基於其他編程語言的爬取141
8.1.6命令行工具142
8.1.7圖形化的爬取工具142
8.2最佳實踐和技巧143
第9章示例147
9.1爬取Hacker News網頁148
9.2使用Hacker News API150
9.3爬取引用信息150
9.4爬取書籍信息154
9.5爬取GitHub上項目被收藏的次數156
9.6爬取抵押貸款利率160
9.7爬取和可視化IMDB評級165
9.8爬取IATA航空公司信息166
9.9爬取和分析網絡論壇的互動171
9.10收集和聚類時尚數據集177
9.11 Amazon評論的情感分析180
9.12爬取和分析維基百科關聯圖188
9.13爬取和可視化董事會成員圖194
9.14使用深度學習破解驗證碼圖片197
作者介紹
Seppe vanden Broucke是比利時魯汶大學經濟與商務學院數據科學方面的助理教授。他的研究興趣包括商務數據挖掘和分析、機器學習、流程管理和流程挖掘,相關論文發表在知名國際期刊和會議上。Seppe從事包括高級分析、大數據和信息管理課程方面的教學工作,也經常提供工業和商業用戶的培訓。除了工作,Seppe喜歡旅行、閱讀(從Murakami到Bukowski到Asimov)、聽音樂(從Booka Shade到Miles Davis到Claude Debussy)、看電影和連續劇(由於沒時間現在看得少多了)、玩遊戲和關注新聞事件。
Bart Baesens是比利時魯汶大學大數據和數據分析方面的教授,也是英國南安普頓大學的講師。他對大數據及分析、信用風險建模、欺詐檢測和營銷分析進行了廣泛的研究。Bart撰寫了200多篇學術論文和若干本書。除了與家人共度時光外,他還是一名布魯日足球俱樂部的鐵桿球迷。Bart是美食家和業餘廚師……。Bart熱愛旅行,對一次世界大戰著迷,並閱讀了很多關於這個主題的書籍。