作 者:(美)瑞安·米切爾(Ryan Mitchell) 著 神煩小寶 譯
定 價:79
出 版 社:人民郵電出版社
出版日期:2019年04月01日
頁 數:241
裝 幀:平裝
ISBN:9787115509260
●前言xi
部分創建爬蟲
章初見網絡爬蟲3
1.1網絡連接3
1.2BeautifulSoup簡介5
1.2.1安裝BeautifulSoup6
1.2.2運行BeautifulSoup8
1.2.3可靠的網絡連接以及異常的處理9
第2章復雜HTML解析13
2.1不是一直都要用錘子13
2.2再端一碗BeautifulSoup14
2.2.1BeautifulSoup的find()和find_all()16
2.2.2其他BeautifulSoup對像18
2.2.3導航樹18
2.3正則表達式22
2.4正則表達式和BeautifulSoup25
2.5獲取屬性26
2.6Lambda表達式26
第3章編寫網絡爬蟲28
3.1遍歷單個域名28
3.2抓取整個網站32
3.3在互聯網上抓取36
第4章網絡爬蟲模型41
4.1規劃和定義對像41
4.2處理不同的網站布局45
4.3結構化爬蟲49
4.3.1通過搜索抓取網站49
4.3.2通過鏈接抓取網站52
4.3.3抓取多種類型的頁面54
4.4關於網絡爬蟲模型的思考55
第5章Scrapy57
5.1安裝Scrapy57
5.2創建一個簡易爬蟲59
5.3帶規則的抓取60
5.4創建item64
5.5輸出item66
5.6item管線組件66
5.7Scrapy日志管理69
5.8更多資源70
第6章存儲數據71
6.1媒體文件71
6.2把數據存儲到CSV74
6.3MySQL75
6.3.1安裝MySQL76
6.3.2基本命令78
6.3.3與Python整合81
6.3.4數據庫技術與很好實踐84
6.3.5MySQL裡的“六度空間遊戲”86
6.4Email88
第二部分不錯網頁抓取
第7章讀取文檔93
7.1文檔編碼93
7.2純文本94
7.3CSV98
7.4PDF100
7.5微軟Word和.docx102
第8章數據清洗106
8.1編寫代碼清洗數據106
8.2數據存儲後再清洗111
第9章自然語言處理115
9.1概括數據116
9.2馬爾可夫模型119
9.3自然語言工具包124
9.3.1安裝與設置125
9.3.2用NLTK做統計分析126
9.3.3用NLTK做詞性分析128
9.4其他資源131
0章穿越網頁表單與登錄窗口進行抓取132
10.1PythonRequests庫132
10.2提交一個基本表單133
10.3單選按鈕、復選框和其他輸入134
10.4提交文件和圖像136
10.5處理登錄和cookie136
10.6其他表單問題139
1章抓取JavaScript140
11.1JavaScript簡介140
11.2Ajax和動態HTML143
11.2.1在Python中用Selenium執行JavaScript144
11.2.2Selenium的其他webdriver149
11.3處理重定向150
11.4關於JavaScript的最後提醒151
2章利用API抓取數據152
12.1API概述152
12.1.1HTTP方法和API154
12.1.2更多關於API響應的介紹155
12.2解析JSON數據156
12.3無文檔的API157
12.3.1查找無文檔的API159
12.3.2記錄未被記錄的API160
12.3.3自動查找和記錄API160
12.4API與其他數據源結合163
12.5再說一點API165
3章圖像識別與文字處理167
13.1OCR庫概述168
13.1.1Pillow168
13.1.2Tesseract168
13.1.3NumPy170
13.2處理格式規範的文字171
13.2.1自動調整圖像173
13.2.2從網站圖片中抓取文字176
13.3讀取驗證碼與訓練Tesseract178
13.4獲取驗證碼並提交答案183
4章避開抓取陷阱186
14.1道德規範186
14.2讓網絡機器人看著像人類用戶187
14.2.1修改請求頭187
14.2.2用JavaScript處理cookie189
14.2.3時間就是一切191
14.3常見表單安全措施191
14.3.1隱含輸入字段值192
14.3.2避免蜜罐192
14.4問題檢查表194
5章用爬蟲測試網站196
15.1測試簡介196
15.2Pyth測試197
15.3Seleni測試201
15測試與Seleni測試的選擇205
6章並行網頁抓取206
16.1進程與線程206
16.2多線程抓取207
16.2.1競爭條件與隊列209
16.2.2threading模塊212
16.3多進程抓取214
16.3.1多進程抓取216
16.3.2進程間通信217
16.4多進程抓取的另一種方法219
7章遠程抓取221
17.1為什麼要用遠程服務器221
17.1.1避免IP地址被封殺221
17.1.2移植性與擴展性222
17.2Tor代理服務器223
17.3遠程主機224
17.3.1從網站主機運行225
17.3.2從雲主機運行225
17.4其他資源227
8章網頁抓取的法律與道德約束228
18.1商標、版權、228
18.2侵害動產230
18.3計算機欺詐與濫用法232
18.4robots.txt和服務協議233
18.53個網絡爬蟲236
18.5.1eBay起訴Bidder’sEdge侵害其動產236
18.5.2美國政府起訴Auernheimer與《計算機欺詐與濫用法》237
18.5.3Field起訴Google:版權和robots.txt239
18.6勇往直前239
關於作者241
關於封面241
本書采用簡潔強大的Python 語言,介紹了網頁抓取,並為抓取新式網絡中的各種數據類型提供了全面的指導。部分重點介紹網頁抓取的基本原理:如何用Python 從網絡服務器請求信息,如何對服務器的響應進行基本處理,以及如何以自動化手段與網站進行交互。第二部分介紹如何用網絡爬蟲測試網站,自動化處理,以及如何通過更多的方式接入網絡。
(美)瑞安·米切爾(Ryan Mitchell) 著 神煩小寶 譯
瑞安·米切爾(Ryan Mitchell) 數據科學家、軟件工程師,有豐富的網絡爬蟲和數據分析實戰經驗,目前就職於美國格理集團,經常為網頁數據采集項目提供咨詢服務,並在美國東北大學和美國歐林工程學院任教。