官术网_书友最值得收藏!

前言

隨著大數據和人工智能的普及,Python的地位也變得水漲船高,許多技術人員投身于Python開發,其中網絡爬蟲是Python最為熱門的應用領域之一。在爬蟲領域,Python可以說是處于霸主地位,Python能解決爬蟲開發過程中所遇到的難題,開發速度快且支持異步編程,大大縮短了開發周期。此外,從事數據分析的工程師,為獲取數據,很多時候也會用到網絡爬蟲的相關技術,因此,Python爬蟲編程已成為爬蟲工程師和數據分析師的必備技能。

本書結構

本書共分28章,各章內容概述如下:

第1章介紹什么是網絡爬蟲、爬蟲的類型和原理、爬蟲搜索策略和爬蟲的合法性及開發流程。

第2章講解爬蟲開發的基礎知識,包括HTTP協議、請求頭和Cookies的作用、HTML的布局結構、JavaScript的介紹、JSON的數據格式和Ajax的原理。

第3章介紹使用Chrome開發工具分析爬取網站,重點介紹開發工具的Elements和Network標簽的功能和使用方式,并通過開發工具分析QQ網站。

第4章主要介紹Fiddler抓包工具的原理和安裝配置,Fiddler用戶界面的各個功能及使用方法。

第5章講述了Urllib在Python 2和Python 3的變化及使用,包括發送請求、使用代理IP、Cookies的讀寫、HTTP證書驗收和數據處理。

第6章~第8章介紹Python第三方庫Requests、Requests-Cache爬蟲緩存和Requests-HTML,包括發送請求、使用代理IP、Cookies的讀寫、HTTP證書驗收和文件下載與上傳、復雜的請求方式、緩存的存儲機制、數據清洗以及Ajax動態數據爬取等內容。

第9章介紹網頁操控和數據爬取,重點講解Selenium的安裝與使用,并通過實戰項目“百度自動答題”,講解了Selenium的使用。

第10章介紹手機App數據爬取,包括Appium的原理與開發環境搭建、連接Android系統,并通過實戰項目“淘寶商品采集”,介紹了App數據的爬取技巧。

第11章介紹Splash、Mitmproxy與Aiohttp的安裝和使用,包括Splash動態數據抓取、Mitmproxy抓包和Aiohttp高并發抓取。

第12章介紹驗證碼的種類和識別方法,包括OCR的安裝和使用、驗證碼圖片處理和使用第三方平臺識別驗證碼。

第13章講述數據清洗的三種方法,包括字符串操作(截取、查找、分割和替換)、正則表達式的使用和第三方庫BeautifulSoup的安裝以及使用。

第14章講述如何將數據存儲到文件,包括CSV、Excel和Word文件的讀取和寫入方法。

第15章介紹ORM框架SQLAlchemy的安裝及使用,實現關系型數據庫持久化存儲數據。

第16章講述非關系型數據庫MongoDB的操作,包括MongoDB的安裝、原理和Python實現MongoDB的讀寫。

第17章至第21章介紹了5個實戰項目,分別是:爬取51Job招聘信息、分布式爬蟲——QQ音樂、12306搶票爬蟲、微博爬取和微博爬蟲軟件的開發。

第22章至第25章介紹了Scrapy爬蟲框架,包括Scrapy的運行機制、項目創建、各個組件的編寫(Setting、Items、Item Pipelines和Spider)和文件下載及Scrapy中間件,并通過實戰項目“Scrapy+Selenium爬取豆瓣電影評論”、“Scrapy+Splash爬取B站動漫信息”和“Scrapy+Redis分布式爬取貓眼排行榜”、“爬取鏈家樓盤信息”和“QQ音樂全站爬取”,深入講解了Scrapy的應用和分布式爬蟲的編寫技巧。

第26章介紹爬蟲的上線部署,包括非框架式爬蟲和框架式爬蟲的部署技巧。

第27章介紹常見的反爬蟲技術,并給出了可行的反爬蟲解決方案。

第28章介紹爬蟲框架的編寫,學習如何自己動手編寫一款爬蟲框架,以滿足特定業務場景的需求。

本書特色

循序漸進,涉及面廣:本書站在初學者的角度,循序漸進地介紹了使用Python開發網絡爬蟲的各種知識,內容由淺入深,幾乎涵蓋了目前網絡爬蟲開發的各種熱門工具和前瞻性技術。

實戰項目豐富,擴展性強:本書采用大量的實戰項目進行講解,力求通過實際應用使讀者更容易地掌握爬蟲開發技術,以應對業務需求。本書項目經過編者精心設計和挑選,根據實際開發經驗總結而來,涵蓋了在實際開發中所遇到的各種問題。對于精選項目,盡可能做到步驟詳盡、結構清晰、分析深入淺出,而且案例的擴展性強,讀者可根據實際需求擴展開發。

從理論到實踐,注重培養爬蟲開發思維:在講解過程中,不僅介紹理論知識,注重培養讀者的爬蟲開發思維,而且安排了綜合應用實例或小型應用程序,使讀者能順利地將理論應用到實踐中。

特色干貨,傾情分享:本書大部分內容都來自作者多年來的編程實踐,操作性很強。值得關注的是,本書還介紹了爬蟲軟件和爬蟲框架的開發,供學有余力的讀者擴展知識結構,提升開發技能。

源代碼下載

本書所有程序代碼均在Python 3.6下調試通過,源代碼Github下載地址:

https://github.com/xyjw/python-Reptile

你也可以掃描下面的二維碼下載。

如果你在下載過程中遇到問題,可發送郵件至554301449@qq.com獲得幫助,郵件標題為“實戰Python網絡爬蟲下載資源”。

技術服務

讀者在學習或者工作的過程中,如果遇到實際問題,可以加入QQ群93314951與筆者聯系,筆者會在第一時間給予回復。

讀者對象

本書主要適合以下讀者閱讀:

● Python網絡爬蟲初學者及在校學生。

● Python初級爬蟲工程師。

● 從事數據抓取和分析的技術人員。

● 學習Python程序設計的開發人員。

雖然筆者力求本書更臻完美,但由于水平所限,難免會出現錯誤,特別是實例中爬取的網站可能隨時更新,導致源碼在運行過程中出現問題,歡迎廣大讀者和高手專家給予指正,筆者將十分感謝。

黃永祥

2019年1月

主站蜘蛛池模板: 石嘴山市| 临泉县| 清苑县| 永定县| 汉源县| 和田市| 金沙县| 龙州县| 巫山县| 新兴县| 铜鼓县| 静宁县| 东辽县| 大兴区| 马龙县| 邓州市| 当雄县| 山西省| 万荣县| 瑞安市| 佛冈县| 博野县| 横山县| 金湖县| 颍上县| 德昌县| 永善县| 杭锦后旗| 肇州县| 黎川县| 阳山县| 年辖:市辖区| 普兰店市| 左贡县| 宁陕县| 田林县| 甘洛县| 堆龙德庆县| 涟水县| 平阳县| 延安市|