隨著大數據分析、大數據計算火熱興起,越來越多的企業發布了數據分析崗位,而數據分析的基礎則是海量的數據。Python中的Scrapy框架就是為了抓取數據而設計的。
基本介紹
- 書名:《Scrapy網路爬蟲實戰》
- 作者:東郭大貓
- ISBN:9787302536208
- 類別:計算機
- 頁數:242
- 定價:59
- 出版社:清華大學出版社
- 出版時間:2019.10.1
- 裝幀:平裝
- 開本:16K
內容簡介
作者介紹
書籍目錄
1.1 PYTHON SDK安裝 1
1.1.1 在Windows上安裝Python 1
1.1.2 在Ubuntu上安裝Python 2
1.2 安裝開發工具PYCHARM社區版 3
1.3 安裝開發工具VISUAL STUDIO社區版 5
第2章 爬蟲基礎知識 6
2.1 爬蟲原理 6
2.1.1 爬蟲運行基本流程 6
2.1.2 HTTP請求過程 8
2.2 網頁分析方法1:瀏覽器開發人員工具 9
2.2.1 Elements面板 10
2.2.2 Network面板 11
2.3 網頁分析方法2:XPATH語法 14
2.3.1 XPath節點 14
2.3.2 XPath語法 15
2.3.3 XPath軸 17
2.3.4 XPath運算符 19
2.4 網頁分析方法3:CSS選擇語法 19
2.4.1 元素選擇器 20
2.4.2 類選擇器 21
2.4.3 ID選擇器 21
2.4.4 屬性選擇器 21
2.4.5 後代選擇器 21
2.4.6 子元素選擇器 22
2.4.7 相鄰兄弟選擇器 22
2.5 網頁分析方法4:正則表達式 22
2.5.1 提取指定字元 23
2.5.2 預定義字元集 23
2.5.3 數量限定 23
2.5.4 分支匹配 24
2.5.5 分組 24
2.5.6 零寬斷言 24
2.5.7 貪婪模式與非貪婪模式 25
2.5.8 Python中的正則表達式 25
2.6 爬蟲常用類庫1:PYTHON中的HTTP基本庫URLLIB 30
2.6.1 傳送請求 30
2.6.2 使用Cookie 31
2.7 爬蟲常用類庫2:更人性化的第三方庫REQUESTS 33
2.7.1 傳送請求 34
2.7.2 請求頭 35
2.7.3 回響內容 35
2.7.4 回響狀態碼 36
2.7.5 cookies參數 37
2.7.6 重定向與請求歷史 37
2.7.7 逾時 38
2.7.8 設定代理 38
2.7.9 會話對象 38
2.8 爬蟲常用類庫3:元素提取利器BEAUTIFULSOUP 39
2.8.1 安裝BeautifulSoup 39
2.8.2 安裝解析器 40
2.8.3 BeautifulSoup使用方法 41
2.8.4 BeautifulSoup對象 43
2.8.5 遍歷文檔樹 47
2.8.6 搜尋文檔樹 52
2.8.7 BeautifulSoup中的CSS選擇器 57
2.9 爬蟲常用類庫4:SELENIUM操縱瀏覽器 58
2.9.1 安裝Selenium 59
2.9.2 Selenium的基本使用方法 59
2.9.3 Selenium Webdriver的原理 61
2.9.4 Selenium中的元素定位方法 61
2.9.5 Selenium Webdriver基本操作 63
2.9.6 Selenium實戰:抓取拉鉤網招聘信息 64
2.10 爬蟲常用類庫5:SCRAPY爬蟲框架 67
2.10.1 安裝Scrapy 67
2.10.2 Scrapy簡介 68
2.11 基本爬蟲實戰:抓取CNBETA網站科技類文章 69
2.11.1 URL管理器 70
2.11.2 數據下載器 71
2.11.3 數據分析器 72
2.11.4 數據保存器 74
2.11.5 調度器 75
第3章 Scrapy命令行與Shell 78
3.1 SCRAPY命令行介紹 78
3.1.1 使用startproject創建項目 80
3.1.2 使用genspider創建爬蟲 81
3.1.3 使用crawl啟動爬蟲 82
3.1.4 使用list查看爬蟲 82
3.1.5 使用fetch獲取數據 83
3.1.6 使用runspider運行爬蟲 84
3.1.7 通過view使用瀏覽器打開URL 85
3.1.8 使用parse測試爬蟲 85
3.2 SCRAPY SHELL命令行 85
3.2.1 Scrapy Shell的用法 85
3.2.2 實戰:解析名人名言網站 86
第4章 Scrapy爬蟲 89
4.1 編寫爬蟲 89
4.1.1 scrapy.Spider爬蟲基本類 89
4.1.2 start_requests()方法 90
4.1.3 parse(response)方法 91
4.1.4 Selector選擇器 91
4.2 通用爬蟲 94
4.2.1 CrawlSpider 94
4.2.2 XMLFeedSpider 95
4.2.3 CSVFeedSpider 96
4.2.4 SitemapSpider 97
4.3 爬蟲實戰 98
4.3.1 實戰1:CrawlSpider爬取名人名言 98
4.3.2 實戰2:XMLFeedSpider爬取伯樂線上的RSS 102
4.3.3 實戰3:CSVFeedSpider提取csv檔案數據 104
4.3.4 實戰4:SitemapSpider爬取部落格園文章 106
第5章 Scrapy管道 109
5.1 管道簡介 109
5.2 編寫自定義管道 110
5.3 下載檔案和圖片 113
5.3.1 檔案管道 114
5.3.2 圖片管道 117
5.4 資料庫存儲MYSQL 121
5.4.1 在Ubuntu上安裝MySQL 121
5.4.2 在Windows上安裝MySQL 122
5.4.3 MySQL基礎 125
5.4.4 MySQL基本操作 127
5.4.5 Python操作MySQL 129
5.5 資料庫存儲MONGODB 131
5.5.1 在Ubuntu上安裝MongoDB 132
5.5.2 在Windows上安裝MongoDB 132
5.5.3 MongoDB基礎 135
5.5.4 MongoDB基本操作 137
5.5.5 Python操作MongoDB 143
5.6 實戰:爬取鏈家二手房信息並保存到資料庫 144
第6章 Request與Response 157
6.1 REQUEST對象 157
6.1.1 Request類詳解 158
6.1.2 Request回調函式與錯誤處理 160
6.2 RESPONSE 162
6.2.1 Response類詳解 162
6.2.2 Response子類 163
第7章 Scrapy中間件 165
7.1 編寫自定義SPIDER中間件 165
7.1.1 激活中間件 165
7.1.2 編寫Spider中間件 166
7.2 SPIDER內置中間件 168
7.2.1 DepthMiddleware爬取深度中間件 168
7.2.2 HttpErrorMiddleware失敗請求處理中間件 168
7.2.3 OffsiteMiddleware過濾請求中間件 169
7.2.4 RefererMiddleware參考位置中間件 169
7.2.5 UrlLengthMiddleware網址長度限制中間件 170
7.3 編寫自定義下載器中間件 170
7.3.1 激活中間件 170
7.3.2 編寫下載器中間件 171
7.4 下載器內置中間件 173
7.4.1 CookiesMiddleware 173
7.4.2 HttpProxyMiddleware 174
7.5 實戰:為爬蟲添加中間件 174
第8章 Scrapy配置與內置服務 178
8.1 SCRAPY配置簡介 178
8.1.1 命令行選項(優先權最高) 178
8.1.2 每個爬蟲內配置 179
8.1.3 項目設定模組 179
8.1.4 默認的命令行配置 181
8.1.5 默認全局配置(優先權最低) 182
8.2 日誌 182
8.3 數據收集 184
8.4 傳送郵件 187
8.4.1 簡單例子 187
8.4.2 MailSender類 187
8.4.3 在settings.py中對Mail進行設定 188
8.5 實戰:抓取貓眼電影TOP100榜單數據 188
8.5.1 分析頁面元素 189
8.5.2 創建項目 189
8.5.3 編寫items.py 190
8.5.4 編寫管道pipelines.py 190
8.5.5 編寫爬蟲檔案top100.py 191
第9章 模擬登錄 194
9.1 模擬提交表單 194
9.2 用COOKIE模擬登錄狀態 197
9.3 項目實戰 198
9.3.1 實戰1:使用FormRequest模擬登錄豆瓣 198
9.3.2 實戰2:使用Cookie登錄 202
第10章 Scrapy爬蟲最佳化 205
10.1 SCRAPY MONGODB實戰:抓取並保存IT之家部落格新聞 205
10.1.1 確定目標 205
10.1.2 創建項目 206
10.1.3 編寫items.py檔案 207
10.1.4 編寫爬蟲檔案news.py 207
10.1.5 編寫管道pipelines.py 209
10.1.6 編寫settings.py 210
10.1.7 運行爬蟲 211
10.2 用BENCHMARK進行本地環境評估 212
10.3 擴展爬蟲 214
10.3.1 增大並發 214
10.3.2 關閉Cookie 214
10.3.3 關閉重試 214
10.3.4 減少下載逾時時間 215
10.3.5 關閉重定向 215
10.3.6 AutoThrottle擴展 215
第11章 Scrapy項目實戰:爬取某社區用戶詳情 217
11.1 項目分析 217
11.1.1 頁面分析 217
11.1.2 抓取流程 221
11.2 創建爬蟲 221
11.2.1 cookies收集器 222
11.2.2 Items類 225
11.2.3 Pipeline管道編寫 226
11.2.4 Spider爬蟲檔案 227
11.2.5 Middlewars中間件編寫