python爬蟲開發(fā)與項(xiàng)目實(shí)戰(zhàn)是一本Python爬蟲開發(fā)實(shí)戰(zhàn)手冊,由范傳輝編著。本書從Python和Web前端基礎(chǔ)開始講起,由淺入深,包含大量案例,實(shí)用性極強(qiáng)。全書共有9個(gè)爬蟲項(xiàng)目,以系統(tǒng)的實(shí)戰(zhàn)項(xiàng)目為驅(qū)動,由淺及深地講解爬蟲開發(fā)中所需的知識和技能。從靜態(tài)網(wǎng)站到動態(tài)網(wǎng)站,從單機(jī)爬蟲到分布式爬蟲,既包含基礎(chǔ)知識點(diǎn),又講解了關(guān)鍵問題和難點(diǎn)分析,包含從入門到進(jìn)階的所有知識。讀者認(rèn)真學(xué)習(xí)完本書之后不再是個(gè)菜鳥,可以自主地開發(fā)Python爬蟲項(xiàng)目。
內(nèi)容介紹
隨著大數(shù)據(jù)時(shí)代到來,網(wǎng)絡(luò)信息量也變得更多更大,基于傳統(tǒng)搜索引擎的局限性,網(wǎng)絡(luò)爬蟲應(yīng)運(yùn)而生,《python爬蟲開發(fā)與項(xiàng)目實(shí)戰(zhàn)》從基本的爬蟲原理開始講解,通過介紹Pthyon編程語言和Web前端基礎(chǔ)知識引領(lǐng)讀者入門,之后介紹動態(tài)爬蟲原理以及Scrapy爬蟲框架,最后介紹大規(guī)模數(shù)據(jù)下分布式爬蟲的設(shè)計(jì)以及PySpider爬蟲框架等。
主要特點(diǎn):
由淺入深,從Python和Web前端基礎(chǔ)開始講起,逐步加深難度,層層遞進(jìn)。
內(nèi)容詳實(shí),從靜態(tài)網(wǎng)站到動態(tài)網(wǎng)站,從單機(jī)爬蟲到分布式爬蟲,既包含基礎(chǔ)知識點(diǎn),又講解了關(guān)鍵問題和難點(diǎn)分析,方便讀者完成進(jìn)階。
實(shí)用性強(qiáng),本書共有9個(gè)爬蟲項(xiàng)目,以系統(tǒng)的實(shí)戰(zhàn)項(xiàng)目為驅(qū)動,由淺及深地講解爬蟲開發(fā)中所需的知識和技能。
難點(diǎn)詳析,對js加密的分析、反爬蟲措施的突破、去重方案的設(shè)計(jì)、分布式爬蟲的開發(fā)進(jìn)行了細(xì)致的講解。
章節(jié)目錄
前言 基礎(chǔ)篇 第1章 回顧Python編程 2 1.1 安裝Python 2 1.1.1 Windows上安裝Python 2 1.1.2 Ubuntu上的Python 3 1.2 搭建開發(fā)環(huán)境 4 1.2.1 Eclipse+PyDev 4 1.2.2 PyCharm 10 1.3 IO編程 11 1.3.1 文件讀寫 11 1.3.2 操作文件和目錄 14 1.3.3 序列化操作 15 1.4 進(jìn)程和線程 16 1.4.1 多進(jìn)程 16 1.4.2 多線程 22 1.4.3 協(xié)程 25 1.4.4 分布式進(jìn)程 27 1.5 網(wǎng)絡(luò)編程 32 1.5.1 TCP編程 33 1.5.2 UDP編程 35 1.6 小結(jié) 36 第2章 Web前端基礎(chǔ) 37 2.1 W3C標(biāo)準(zhǔn) 37 2.1.1 HTML 37 2.1.2 CSS 47 2.1.3 51 2.1.4 XPath 56 2.1.5 JSON 61 2.2 HTTP標(biāo)準(zhǔn) 61 2.2.1 HTTP請求過程 62 2.2.2 HTTP狀態(tài)碼含義 62 2.2.3 HTTP頭部信息 63 2.2.4 Cookie狀態(tài)管理 66 2.2.5 HTTP請求方式 66 2.3 小結(jié) 68 第3章 初識網(wǎng)絡(luò)爬蟲 69 3.1 網(wǎng)絡(luò)爬蟲概述 69 3.1.1 網(wǎng)絡(luò)爬蟲及其應(yīng)用 69 3.1.2 網(wǎng)絡(luò)爬蟲結(jié)構(gòu) 71 3.2 HTTP請求的Python實(shí)現(xiàn) 72 3.2.1 urllib2/urllib實(shí)現(xiàn) 72 3.2.2 httplib/urllib實(shí)現(xiàn) 76 3.2.3 更人性化的Requests 77 3.3 小結(jié) 82 第4章 HTML解析大法 83 4.1 初識Firebug 83 4.1.1 安裝Firebug 84 4.1.2 強(qiáng)大的功能 84 4.2 正則表達(dá)式 95 4.2.1 基本語法與使用 96 4.2.2 Python與正則 102 4.3 強(qiáng)大的BeautifulSoup 108 4.3.1 安裝BeautifulSoup 108 4.3.2 BeautifulSoup的使用 109 4.3.3 lxml的XPath解析 124 4.4 小結(jié) 126 第5章 數(shù)據(jù)存儲(無數(shù)據(jù)庫版) 127 5.1 HTML正文抽取 127 5.1.1 存儲為JSON 127 5.1.2 存儲為CSV 132 5.2 多媒體文件抽取 136 5.3 Email提醒 137 5.4 小結(jié) 138 第6章 實(shí)戰(zhàn)項(xiàng)目:基礎(chǔ)爬蟲 139 6.1 基礎(chǔ)爬蟲架構(gòu)及運(yùn)行流程 140 6.2 URL管理器 141 6.3 HTML下載器 142 6.4 HTML解析器 143 6.5 數(shù)據(jù)存儲器 145 6.6 爬蟲調(diào)度器 146 6.7 小結(jié) 147 第7章 實(shí)戰(zhàn)項(xiàng)目:簡單分布式爬蟲 148 7.1 簡單分布式爬蟲結(jié)構(gòu) 148 7.2 控制節(jié)點(diǎn) 149 7.2.1 URL管理器 149 7.2.2 數(shù)據(jù)存儲器 151 7.2.3 控制調(diào)度器 153 7.3 爬蟲節(jié)點(diǎn) 155 7.3.1 HTML下載器 155 7.3.2 HTML解析器 156 7.3.3 爬蟲調(diào)度器 157 7.4 小結(jié) 159 中級篇 第8章 數(shù)據(jù)存儲(數(shù)據(jù)庫版) 162 8.1 SQLite 162 8.1.1 安裝SQLite 162 8.1.2 SQL語法 163 8.1.3 SQLite增刪改查 168 8.1.4 SQLite事務(wù) 170 8.1.5 Python操作SQLite 171 8.2 MySQL 174 8.2.1 安裝MySQL 174 8.2.2 MySQL基礎(chǔ) 177 8.2.3 Python操作MySQL 181 8.3 更適合爬蟲的MongoDB 183 8.3.1 安裝MongoDB 184 8.3.2 MongoDB基礎(chǔ) 187 8.3.3 Python操作MongoDB 194 8.4 小結(jié) 196 第9章 動態(tài)網(wǎng)站抓取 197 9.1 Ajax和動態(tài)HTML 197 9.2 動態(tài)爬蟲1:爬取影評信息 198 9.3 PhantomJS 207 9.3.1 安裝PhantomJS 207 9.3.2 快速入門 208 9.3.3 屏幕捕獲 211 9.3.4 網(wǎng)絡(luò)監(jiān)控 213 9.3.5 頁面自動化 214 9.3.6 常用模塊和方法 215 9.4 Selenium 218 9.4.1 安裝Selenium 219 9.4.2 快速入門 220 9.4.3 元素選取 221 9.4.4 頁面操作 222 9.4.5 等待 225 9.5 動態(tài)爬蟲2:爬取去哪網(wǎng) 227 9.6 小結(jié) 230 第10章 Web端協(xié)議分析 231 10.1 網(wǎng)頁登錄POST分析 231 10.1.1 隱藏表單分析 231 10.1.2 加密數(shù)據(jù)分析 234 10.2 驗(yàn)證碼問題 246 10.2.1 IP代理 246 10.2.2 Cookie登錄 249 10.2.3 傳統(tǒng)驗(yàn)證碼識別 250 10.2.4 人工打碼 251 10.2.5 滑動驗(yàn)證碼 252 10.3 www>m>wap 252 10.4 小結(jié) 254 第11章 終端協(xié)議分析 255 11.1 PC客戶端抓包分析 255 11.1.1 HTTP Analyzer簡介 255 11.1.2 蝦米音樂PC端API實(shí)戰(zhàn)分析 257 11.2 App抓包分析 259 11.2.1 Wireshark簡介 259 11.2.2 酷我聽書App端API實(shí)戰(zhàn)分析 266 11.3 API爬蟲:爬取mp3資源信息 268 11.4 小結(jié) 272 第12章 初窺Scrapy爬蟲框架 273 12.1 Scrapy爬蟲架構(gòu) 273 12.2 安裝Scrapy 275 12.3 創(chuàng)建cnblogs項(xiàng)目 276 12.4 創(chuàng)建爬蟲模塊 277 12.5 選擇器 278 12.5.1 Selector的用法 278 12.5.2 HTML解析實(shí)現(xiàn) 280 12.6 命令行工具 282 12.7 定義Item 284 12.8 翻頁功能 286 12.9 構(gòu)建Item Pipeline 287 12.9.1 定制Item Pipeline 287 12.9.2 激活I(lǐng)tem Pipeline 288 12.10 內(nèi)置數(shù)據(jù)存儲 288 12.11 內(nèi)置圖片和文件下載方式 289 12.12 啟動爬蟲 294 12.13 強(qiáng)化爬蟲 297 12.13.1 調(diào)試方法 297 12.13.2 異常 299 12.13.3 控制運(yùn)行狀態(tài) 300 12.14 小結(jié) 301 第13章 深入Scrapy爬蟲框架 302 13.1 再看Spider 302 13.2 Item Loader 308 13.2.1 Item與Item Loader 308 13.2.2 輸入與輸出處理器 309 13.2.3 Item Loader Context 310 13.2.4 重用和擴(kuò)展Item Loader 311 13.2.5 內(nèi)置的處理器 312 13.3 再看Item Pipeline 314 13.4 請求與響應(yīng) 315 13.4.1 Request對象 315 13.4.2 Response對象 318 13.5 下載器中間件 320 13.5.1 激活下載器中間件 320 13.5.2 編寫下載器中間件 321 13.6 Spider中間件 324 13.6.1 激活Spider中間件 324 13.6.2 編寫Spider中間件 325 13.7 擴(kuò)展 327 13.7.1 配置擴(kuò)展 327 13.7.2 定制擴(kuò)展 328 13.7.3 內(nèi)置擴(kuò)展 332 13.8 突破反爬蟲 332 13.8.1 UserAgent池 333 13.8.2 禁用Cookies 333 13.8.3 設(shè)置下載延時(shí)與自動限速 333 13.8.4 代理IP池 334 13.8.5 Tor代理 334 13.8.6 分布式下載器:Crawlera 337 13.8.7 Google cache 338 13.9 小結(jié) 339 第14章 實(shí)戰(zhàn)項(xiàng)目:Scrapy爬蟲 340 14.1 創(chuàng)建知乎爬蟲 340 14.2 定義Item 342 14.3 創(chuàng)建爬蟲模塊 343 14.3.1 登錄知乎 343 14.3.2 解析功能 345 14.4 Pipeline 351 14.5 優(yōu)化措施 352 14.6 部署爬蟲 353 14.6.1 Scrapyd 354 14.6.2 Scrapyd-client 356 14.7 小結(jié) 357 深入篇 第15章 增量式爬蟲 360 15.1 去重方案 360 15.2 BloomFilter算法 361 15.2.1 BloomFilter原理 361 15.2.2 Python實(shí)現(xiàn)BloomFilter 363 15.3 Scrapy和BloomFilter 364 15.4 小結(jié) 366 第16章 分布式爬蟲與Scrapy 367 16.1 Redis基礎(chǔ) 367 16.1.1 Redis簡介 367 16.1.2 Redis的安裝和配置 368 16.1.3 Redis數(shù)據(jù)類型與操作 372 16.2 Python和Redis 375 16.2.1 Python操作Redis 375 16.2.2 Scrapy集成Redis 384 16.3 MongoDB集群 385 16.4 小結(jié) 390 第17章 實(shí)戰(zhàn)項(xiàng)目:Scrapy分布式爬蟲 391 17.1 創(chuàng)建云起書院爬蟲 391 17.2 定義Item 393 17.3 編寫爬蟲模塊 394 17.4 Pipeline 395 17.5 應(yīng)對反爬蟲機(jī)制 397 17.6 去重優(yōu)化 400 17.7 小結(jié) 401 第18章 人性化PySpider爬蟲框架 403 18.1 PySpider與Scrapy 403 18.2 安裝PySpider 404 18.3 創(chuàng)建豆瓣爬蟲 405 18.4 選擇器 409 18.4.1 PyQuery的用法 409 18.4.2 解析數(shù)據(jù) 411 18.5 Ajax和HTTP請求 415 18.5.1 Ajax爬取 415 18.5.2 HTTP請求實(shí)現(xiàn) 417 18.6 PySpider和PhantomJS 417 18.6.1 使用PhantomJS 418 18.6.2 運(yùn)行 420 18.7 數(shù)據(jù)存儲 420 18.8 PySpider爬蟲架構(gòu) 422 18.9 小結(jié) 423
使用說明
1、下載并解壓,得出pdf文件
2、如果打不開本文件,請務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進(jìn)行閱讀
- 下載地址
- 本地下載通道:
- 浙江電信下載
- 北京聯(lián)通下載
- 江蘇電信下載
- 廣東電信下載
有問題? 點(diǎn)此報(bào)錯(cuò)
發(fā)表評論
0條評論軟件排行榜
熱門推薦
- 得間免費(fèi)小說電腦版 v5.3.0.372.58M / 簡體中文
- 有柿電腦版 v11.6.284.23M / 簡體中文
- cnki全球?qū)W術(shù)快報(bào)電腦版 v1.0.1135.99M / 簡體中文
- 開源閱讀電腦版 v3.2517.96M / 簡體中文
- 數(shù)據(jù)挖掘?qū)д?官方版61.61M / 簡體中文
- 未公開的Oracle數(shù)據(jù)庫秘密 迪貝斯pdf掃描版34.69M / 簡體中文
- PHP語言精粹電子書 pdf掃描版25.72M / 簡體中文
- linux常用命令大全 chm版1.48M / 簡體中文
- 本草綱目 5.34M / 簡體中文
- Scala程序設(shè)計(jì)第二版 pdf高清完整版15.83M / 簡體中文