Python 網站爬蟲(Spider)開發與項目實戰 [PDF 電子書/原始碼]

Python 網站爬蟲(Spider)開發與項目實戰 [PDF 電子書/原始碼]

Python 網站爬蟲(Spider)開發與項目實戰 [PDF 電子書/原始碼]

GITHUB: https://github.com/jash-git/Jash-good-idea-20211201-001/tree/main/Python%20%E7%B6%B2%E7%AB%99%E7%88%AC%E8%9F%B2(Spider)%E9%96%8B%E7%99%BC%E8%88%87%E9%A0%85%E7%9B%AE%E5%AF%A6%E6%88%B0

目錄:

    基礎篇

        第1章回顧Python編程2 

            1.1安裝Python 2 

            1.1.1 Windows上安裝Python 2 

            1.1.2 Ubuntu上的Python 3 

            1.2搭建開發環境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進程和線程16 

            1.4.1多進程16 

            1.4.2多線程22 

            1.4.3協程25 

            1.4.4分佈式進程27 

            1.5網絡編程32 

            1.5.1 TCP編程33 

            1.5.2 UDP編程35 

            1.6小結36 

        第2章Web前端基礎37 

            2.1 W3C標準37 

            2.1.1 HTML 37 

            2.1.2 CSS 47 

            2.1.351 

            2.1.4 XPath 56 

            2.1.5 JSON 61 

            2.2 HTTP標準61 

            2.2.1 HTTP請求過程62 

            2.2.2 HTTP狀態碼含義62 

            2.2.3 HTTP頭部信息63 

            2.2.4 Cookie狀態管理66 

            2.2.5 HTTP請求方式66 

            2.3小結68 

        第3章初識網絡爬蟲69 

            3.1網絡爬蟲概述69 

            3.1.1網絡爬蟲及其應用69 

            3.1.2網絡爬蟲結構71 

            3.2 HTTP請求的Python實現72 

            3.2.1 urllib2/urllib實現72 

            3.2.2 httplib/urllib實現76 

            3.2.3更人性化的Requests 77 

            3.3小結82 

        第4章HTML解析大法83 

            4.1初識Firebug 83 

            4 .1.1安裝Firebug 84 

            4.1.2強大的功能84 

            4.2正則表達式95 

            4.2.1基本語法與使用96 

            4.2.2 Python與正則102 

            4.3強大的BeautifulSoup 108 

            4.3.1安裝BeautifulSoup 108 

            4.3.2 BeautifulSoup的使用109 

            4.3.3 lxml的XPath解析124 

            4.4小結126 

        第5章數據存儲(無數據庫版) 127 

            5.1 HTML正文抽取127 

            5.1.1存儲為JSON 127 

            5.1.2存儲為CSV 132 

            5.2多媒體文件抽取136 

            5.3 Email提醒137 

            5.4小結138 

        第6章實戰項目:基礎爬蟲139 

            6.1基礎爬蟲架構及運行流程140 

            6.2 URL管理器141 

            6.3 HTML下載器142 

            6.4 HTML解析器143 

            6.5數據存儲器145 

            6.6爬蟲調度器146 

            6.7小結147 

        第7章實戰項目:簡單分佈式爬蟲148 

            7.1簡單分佈式爬蟲結構148 

            7.2控制節點149 

            7.2.1 URL管理器149 

            7.2.2數據存儲器151 

            7.2.3控制調度器153 

            7.3爬蟲節點155 

            7.3.1 HTML下載器155 

            7.3.2 HTML解析器156 

            7.3.3爬蟲調度器157 

            7.4小結159 

    中級篇

        第8章數據存儲(數據庫版) 162 

            8.1 SQLite 162 

            8.1.1安裝SQLite 162 

            8.1.2 SQL語法163 

            8.1.3 SQLite增刪改查168 

            8.1.4 SQLite事務170 

            8.1.5 Python操作SQLite 171 

            8.2 MySQL 174 

            8.2.1安裝MySQL 174 

            8.2.2 MySQL基礎177 

            8.2.3 Python操作MySQL 181 

            8.3更適合爬蟲的MongoDB 183 

            8.3.1安裝MongoDB 184 

            8.3.2 MongoDB基礎187 

            8.3.3 Python操作MongoDB 194 

            8.4小結196 

        第9章動態網站抓取197 

            9.1 Ajax和動態HTML 197 

            9.2動態爬蟲1:爬取影評信息198 

            9.3 PhantomJS 207 

            9.3.1安裝PhantomJS 207 

            9.3.2快速入門208 

            9.3.3屏幕捕獲211 

            9.3.4網絡監控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動態爬蟲2:爬取去哪網227 

            9.6小結230 

        第10章Web端協議分析231 

            10.1網頁登錄POST分析231 

            10.1.1隱藏表單分析231 

            10.1.2加密數據分析234 

            10.2驗證碼問題246 

            10.2.1 IP代理246 

            10.2.2 Cookie登錄249 

            10.2.3傳統驗證碼識別250 

            10.2.4人工打碼251 

            10.2 .5滑動 驗證碼252 

            10.3 www>m>wap 252 

            10.4小結254 

        第11章終端協議分析255 

            11.1 PC客戶端抓包分析255 

            11.1.1 HTTP Analyzer簡介255 

            11.1.2蝦米音樂PC端API實戰分析257 

            11.2 App抓包分析259 

            11.2.1 Wireshark簡介259 

            11.2.2酷我聽書App端API實戰分析266 

            11.3 API爬蟲:爬取mp3資源信息268 

            11.4小結272 

        第12章初窺Scrapy爬蟲框架273 

            12.1 Scrapy爬蟲架構273 

            12.2安裝Scrapy 275 

            12.3創建cnblogs項目276 

            12.4創建爬蟲模塊277 

            12.5選擇器278 

            12.5.1 Selector的用法278 

            12.5.2 HTML解析實現280 

            12.6命令行工具282 

            12.7定義Item 284 

            12.8翻頁功能286 

            12.9構建Item Pipeline 287 

            12.9 .1定制Item Pipeline 287 

            12.9.2激活Item Pipeline 288 

            12.10內置數據存儲288 

            12.11內置圖片和文件下載方式289 

            12.12啟動爬蟲294 

            12.13強化爬蟲297 

            12.13.1調試方法297 

            12.13.2異常299 

            12.13.3控制運行狀態300 

            12.14小結301 

        第13章深入Scrapy爬蟲框架302 

            13.1再看Spider 302 

            13.2 Item Loader 308 

            13.2.1 Item與I tem Loader 308 

            13.2.2輸入與輸出處理器309 

            13.2.3 Item Loader Context 310 

            13.2.4重用和擴展Item Loader 311 

            13.2.5內置的處理器312 

            13.3再看Item Pipeline 314 

            13.4請求與響應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擴展327 

            13.7.1配置擴展327 

            13.7.2定制擴展328 

            13.7.3內置擴展332 

            13.8突破反爬蟲332 

            13.8.1 UserAgent池333 

            13.8.2禁用Cookies 333 

            13.8.3設置下載延時與自動限速333 

            13.8.4代理IP池334 

            13.8.5 Tor代理334 

            13.8.6分佈式下載器:Crawlera 337 

            13.8.7 Google cache 338 

            13.9小結339 

        第14章實戰項目:Scrapy爬蟲340 

            14.1創建知乎爬蟲340 

            14.2定義Item 342 

            14.3創建爬蟲模塊343 

            14.3.1登錄知乎343 

            14.3.2解析功能345 

            14.4 Pipeline 351 

            14.5優化措施352 

            14.6部署爬蟲353 

            14.6.1 Scrapyd 354 

            14.6.2 Scrapyd—client 356 

            14.7小結357 

    深入篇

        第15章增量式爬蟲360 

            15.1去重方案360 

            15.2 BloomFilter算法361 

            15.2.1 BloomFilter原理361 

            15.2.2 Python實現BloomFilter 363 

            15.3 Scrapy和BloomFilter 364 

            15.4小結366 

        第16章分佈式爬蟲與Scrapy 367 

            16.1 Redis基礎367 

            16.1.1 Redis簡介367 

            16.1.2 Redis的安裝和配置368 

            16.1.3 Redis數據類型與操作372 

            16.2 Python和Redis 375 

            16.2.1 Python操作Redis 375 

            16.2.2 Scrapy集成Redis 384 

            16.3 MongoDB集群385 

            16.4小結390 

        第17章實戰項目:Scrapy分佈式爬蟲391 

            17.1創建雲起書院爬蟲391 

            17.2定義Item 393 

            17.3編寫爬蟲模塊394 

            17.4 Pipeline 395 

            17.5應對反爬蟲機制397 

            17.6去重優化400 

            17.7小結401 

        第18章人性化PySpider爬蟲框架403 

            18.1 PySpider與Scrapy 403 

            18.2安裝PySpider 404 

            18.3創建豆瓣爬蟲405 

            18.4選擇器409 

            18.4.1 PyQuery的用法409 

            18.4.2解析數據411 

            18.5 Ajax和HTTP請求415 

            18.5. 1 Ajax爬取415 

            18.5.2 HTTP請求實現417 

            18.6 PySpider和PhantomJS 417 

            18.6 .1使用PhantomJS 418 

            18.6.2運行420 

            18.7數據存儲420 

            18.8 PySpider爬蟲架構422 

            18.9小結423

完整圖文:















































































































































































































































































































































































































































































發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *