-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
無Python網絡爬蟲框架Scrapy從入門到精通 版權信息
- ISBN:9787301320228
- 條形碼:9787301320228 ; 978-7-301-32022-8
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
無Python網絡爬蟲框架Scrapy從入門到精通 本書特色
(1)系統:全流程講解Scrapy的原理和實戰,依次擊破編程難點。 (2)經典:凝聚筆者十多年的Scrapy使用經驗,無私奉獻設計秘籍。 (3)深入:淺入深出地介紹爬蟲原理、數據爬取、數據保存、數據分析和測試等技術。并且,所有案例都配有對應的代碼,拿來就用。
無Python網絡爬蟲框架Scrapy從入門到精通 內容簡介
本書從Python主流框架Scrapy的簡介及網絡爬蟲知識講起,逐步深入到Scrapy進階實戰。本書從實戰出發,根據不同需求,有針對性地講解了靜態網頁、動態網頁、App應用是如何爬取所需數據,以及Scrapy是如何部署分布式爬取,很后還介紹了用Scrapy + Pandas是如何進行數據分析及數據展示,讓讀者不但可以系統地學習Scrapy編程的相關知識,而且還能對Scrapy應用開發有更為深入的理解。 本書分為12章,涵蓋的主要內容有Scrapy框架簡介;Scrapy網絡爬蟲知識介紹;Scrapy開發環境的搭建;Scrapy架構及編程;Scrapy進階;實戰項目:Scrapy靜態網頁的爬取;實戰項目:Scrapy動態網頁的爬取;實戰項目:Scrapy爬取App應用數據;Scrapy的分布式部署與爬取;分布式的實戰項目;用Selenium框架測試網站;用Scrapy + Pandas進行數據分析。 本書內容通俗易懂,實例典型,實用性強,特別適合學習Python主流框架Scrapy的入門讀者和進階讀者閱讀,也適合數據分析與挖掘技術的初學者閱讀,還適合相關培訓機構的師生閱讀。
無Python網絡爬蟲框架Scrapy從入門到精通 目錄
1.1 Scrapy簡介 ·······2
1.2 關于本書:目標和用途 ········2
1.3 進行自動化數據爬取的重要性 ·······3
1.4 掌握自動化測試的重要性 ········3
1.5 合理規劃,開發高質量的應用 ·······4
1.6 網絡數據的采集法律與道德約束 ·······5
1.7 本章小結 ·······5
第2章 Scrapy網絡爬蟲知識介紹
2.1 爬蟲的作用 ········7
2.2 爬蟲**的前端知識 ·······9
2.3 爬蟲經常用的Python語法 ·······26
2.4 本章小結 ·······44
第3章 Scrapy開發環境的搭建
3.1 安裝Python ·······47
3.2 數據庫的安裝 ········50
3.3 安裝Scrapy ········56
3.4 本章小結 ·······60
第4章 Scrapy架構及編程
4.1 Scrapy架構及目錄源碼分析 ·······62
4.2 Scrapy項目的創建和管理 ·······67
4.3 PyCharm如何調試Scrapy ·······72
4.4 Scrapy的組件 ·······77
4.5 Scrapy的數據流 ·······78
4.6 數據存儲 ·······78
4.7 Scrapy如何定義中間件 ·······80
4.8 Scrapy其他方法的使用 ·······82
4.9 本章小結 ·······83
第5章 Scrapy進階
5.1 理解Scrapy性能 ·······85
5.2 編寫Spider的邏輯 ·······93
5.3 Item和Pipeline ·······95
5.4 數據庫存儲 ·······98
5.5 Scrapy集成隨機User-Agent和代理IP ·······100
5.6 突破反爬技術 ·······102
5.7 圖片和文件下載 ·······103
5.8 如何部署爬蟲 ·······108
5.9 計劃定時爬取 ·······111
5.10 本章小結 ·······112
第6章 實戰項目:Scrapy靜態網頁的爬取
6.1 采集需求及網頁分析 ·······114
6.2 數據表的設計 ·······115
6.3 獲取和解析列表、詳情頁 ·······115
6.4 數據存儲 ·······117
6.5 數據的導出和展示 ·······119
6.6 本章小結 ·······121
第7章 實戰項目:Scrapy動態網頁的爬取
7.1 采集需求及網頁分析 ·······123
7.2 Selenium的安裝和使用 ···············124
7.3 解析網頁及代碼的實現 ················126
7.4 數據的存儲 ·······128
7.5 數據的導出 ·······130
7.6 本章小結 ·······133
第8章 實戰項目:Scrapy爬取App應用數據
8.1 搭建開發環境 ·······135
8.2 移動自動化工具:Ui Automator Viewer ·······144
8.3 Appium Desktop工具的錄制功能 ·······147
8.4 App應用數據抓取實戰項目 ·······150
8.5 本章小結 ·······158
第9章 Scrapy的分布式部署與爬取
9.1 分布式系統概述及要點 ·······160
9.2 使用Gerapy管理分布式爬蟲 ·······162
9.3 通過Scrapyd + ScrapydWeb簡單高效地部署和監控分布式爬蟲項目 ·······168
9.4 使用Scrapy-Redis實現分布式爬蟲 ·······174
9.5 本章小結 ·······195
第10章 分布式的實戰項目
10.1 搭建Redis服務器 ·······197
10.2 創建主項目及配置Scrapy-Redis ·······197
10.3 創建從項目及配置Scrapy-Redis ·······200
10.4 部署代理IP池及User-Agent ·······203
10.5 執行程序 ·······205
10.6 本章小結 ·······206
第11章 用Selenium框架測試網站
11.1 網站測試簡介 ·······208
11.2 用Scrapy + Selenium進行前端自動化測試 ·······208
11.3 本章小結 ·······235
第12章 用Scrapy + Pandas進行數據分析
12.1 Python數據分析概述 ·······237
12.2 NumPy簡介及操作 ·······238
12.3 Matplotlib簡介及操作 ·······247
12.4 Pandas簡介及操作 ·······256
12.5 實戰項目:Scrapy爬取網站并用Pandas進行數據分析 ·······267
12.6 本章小結 ·······284
無Python網絡爬蟲框架Scrapy從入門到精通 節選
第1章 Scrapy框架簡介 歡迎來到Scrapy的世界,Scrapy是用Python語言編寫的開源網絡爬蟲框架。如果想在網絡上合法地采集想要的數據,或者想要測試網站的性能,那么本書會介紹如何使用Scrapy實現這些功能。不管是經驗很少的初學者還是基本沒接觸過Scrapy的讀者,都可通過本書的各種實例、實戰項目掌握Scrapy。 1.1 Scrapy簡介 從頭開發一個爬蟲程序是一項很煩瑣吃力的工作。為了避免重復地造輪子消耗大量的時間,降低開發成本,提高程序的質量,我們會選擇一些優秀的爬蟲框架,Scrapy就是其中之一。Scrapy是現在非常流行的開源爬蟲框架,而且還是一個成熟的框架;是Python開發的一個快速、高層次的Web數據抓取框架,用于抓取Web站點并從頁面中提取結構化的數據。Scrapy用途廣泛,可以用于數據采集、數據挖掘、網絡異常用戶檢測、存儲數據、監測和自動化測試等方面。 Scrapy使用了Twisted異步網絡框架來處理網絡通信,可以加快下載速度,不用自己去實現異步框架,并且包含了各種中間件接口,可以靈活地完成各種需求。它也提供了多種類型爬蟲的基類,如BaseSpider、Sitemap爬蟲等,*新版本又提供了Web 2.0爬蟲的支持。 Scrapy是基于事件的架構,使數據清洗、格式化、數據存儲級聯起來。當打開上千萬鏈接時,可以同時合理地拆分吞吐量,只要合理設計,性能的降低就會比較小。例如,假如想從某網站獲取商品銷量的信息,假設每頁包含100個商品的銷量。Scrapy可以非常輕松地在該網站并行(同時)執行16個請求。如果一個請求需要1秒,那么每秒就會爬取16頁,把16頁乘每頁的商品數量,*后得出每秒爬取1600個商品銷量的信息。這樣,速度和性能大大增加,比單線程每秒爬取100個商品,足足快了16倍。 1.2 關于本書:目標和用途 本書的目標:通過基礎知識的梳理,重點示例和實戰項目的演示,來教讀者如何使用Scrapy。 第2~4章,梳理運用Scrapy所需要的基礎**知識,以及Scrapy在不同操作系統中是如何搭建的。第5章是Scrapy的進階知識介紹,讓讀者更好地掌握Scrapy并且能更好地運用它。第6~10章是實戰項目,分別通過靜態網頁、動態網頁、App的數據抓取及分布式的部署與爬取,讓讀者更深入地了解和掌握Scrapy的框架精華。第11章是通過爬蟲測試網站性能的介紹和實例,讓讀者掌握Scrapy的另一個功能——自動化測試。第12章是利用Python進行數據分析,并對三大模塊——NumPy、Matplotlib和Pandas進行了詳細介紹,通過實例來演示Scrapy爬取網站,并對爬取到的數據進行分析及視圖展示。 由淺入深地閱讀本書,并且通過本書的實戰項目去練習所學知識,舉一反三地磨煉,這樣就能成為很優秀的Scrapy開發者。 1.3 進行自動化數據爬取的重要性 2011年5月,麥肯錫全球研究院發布報告——Big data: The next frontier for innovation, competition, and productivity,**次給大數據做出相對清晰的定義:“大數據是指其大小超出了常規數據庫工具獲取、儲存、管理和分析能力的數據集。”而數據爬取始終與大數據聯系在一起,為所有預測提供了基礎。“大數據賦予我們預測未來的能力”,這就是數據挖掘的力量。 如今我們的生活已經被數字化:每筆互聯網上的、銀行卡的交易都是數字化的,每次互聯網上瀏覽的行為都有可能被保存下來進行數字化。隨著可穿戴設備的興起,每一次心跳和呼吸也會被數字化并保存為可用的數據。所以,一臺計算機或手機比以往任何時候都能更好地“理解”我們的世界。如果計算機或手機能預測人們的生活方式,它就能準確地告知企業什么時候是進行促銷的*佳時機,例如,如果這個人傾向于每周六去餐廳聚會,那么企業可以給他推送餐廳的優惠信息。如果這個人傾向于每年春節出去度假,那么企業可以給他推送一張酒店住宿優惠券或旅游優惠券。互聯網金融、醫療病例分析、數據建模、信息聚類、數據分析服務等,這些系統所需要的數據幾乎都是要通過爬蟲進行獲取,并且通過規范化提取完成。它們通過提取到的數據進行分析,進行銷售預測,指定商業策略,使營業利潤*大化。從海量病例信息中挖掘有價值的信息,提高患者診斷的準確度、治療的精確度,為醫院決策管理提供有力的支持。所以,一旦未來變得可預測,我們總是可以提前計劃,并為之做*好的行動準備。 1.4 掌握自動化測試的重要性 是否需要進行軟件測試主要取決于以下幾點。 (1)客戶需求度逐漸提高,相應的對軟件系統的要求和期望越來越高。 (2)軟件系統復雜度提高,需要多人進行合作。 (3)軟件開發是程序員的智力活動,無法用固定的生產標準來管理。 由于以上原因,導致軟件質量降低,進度和成本無法控制。所以,我們要盡早測試,盡早發現問題。而且運行一套測試方法能夠保證代碼按照規定的功能和目標運行,不僅節約時間,而且減少產生BUG的可能性。 手工測試通常是工程師先執行預定義的測試用例,將執行結果與預期的行為進行手工比較并記錄結果。每次源代碼更改時都會重復這些手動測試,由于都是人為參與,因此這個過程很容易出錯。古語有云:“工欲善其事,必先利其器。” 自動化測試則是將自動化工具和技術應用于軟件測試,讓程序代替人去驗證程序功能的過程,旨在減少測試工作,更快、更經濟地驗證軟件質量,有助于以更少的工作量構建質量更好的軟件。 自動化測試分為三個層級:單元測試、接口測試和UI測試,這三層呈一個金字塔形狀分布。*底層是單元測試,接口測試在中間,UI測試在*上層。 自動化測試還可以解決以下問題。 (1)軟件在發布新版本以后對之前的功能進行驗證。 (2)軟件的壓力測試,即多用戶同時操作軟件,軟件服務器處理多用戶請求的能力。 (3)軟件的兼容性測試,即在不同瀏覽器(IE、Chrome、Firefox等)中的展現能力,或者在不同操作系統(Windows、Linux等)中的兼容能力。 目前大多數編程語言(包括Python)都有一些測試框架。將Python的Unittest庫與網絡爬蟲組合起來,就可以實現簡單的網站前端測試功能。Python的Selenium是一個可以解決網站中各種復雜問題的優秀測試框架,用它可以寫出一些符合測試流程的測試腳本進行網站測試。 1.5 合理規劃,開發高質量的應用 為了合理規劃,開發高質量的應用,需要通過網絡數據采集,對其關鍵共性技術進行研發,提升數據存儲、理論算法、模型分析等核心競爭力,做出面向大數據的分析軟件。 通過爬蟲的細心抓取,可以為企業提供大量的真實數據,幫助企業構建覆蓋全流程、全環節、全生命周期的數據鏈,使企業提升數據分析處理和知識創造能力的同時,還可以幫助企業及早發現和修復錯誤,并做出明智的決策。 1.6 網絡數據的采集法律與道德約束 當我們開發爬蟲進行網絡采集時,需要關注網絡上數據的版權。如果采集別人的文章放在自己的網站上展示,則侵犯了別人對這篇文章的版權。一般爬蟲采集的大多數數據都是統計數據,但是如果采集的數據源被對方申請了版權,那么在未取得授權的情況下是不能進行采集的。 以下行為表示違反了采集法律。 (1)超出Robots協議的許可。Robots協議是國際互聯網界通行的道德規范,也是一種存放于網站根目錄下的文本文件,它通常告訴爬蟲,此網站中的哪些內容是不可以爬取的,哪些內容是可以爬取的。打個比方:網站就像酒店里的房間,房間的門口會掛著“請勿打擾”或“歡迎光臨”的提示牌。那么,服務生就知道哪些房間能夠進入,哪些房間不能進入。如果強行進入“請勿打擾”的房間,就算違法了。Scrapy提供了這些功能的設置。 (2)對爬取的網站造成了實際的傷害。網絡服務器是很昂貴的,如果由于無限量大批地從目標網站爬取數據,使目標網站崩潰,就會導致網站無法為其他用戶正常地提供服務。這些都算是對目標網站造成的傷害。 (3)故意而為之。雖然采集有時需要很長的時間,但*好讓爬蟲在午夜進行,這樣可以減少目標網站的壓力。這樣的行為可以不影響網站高峰期的運行。 1.7 本章小結 本章介紹了Scrapy,介紹了它能夠幫助用戶做什么,并且闡述了自動化數據爬取和自動化測試的重要性。此外,告訴讀者合理規劃,開發高質量的應用及網絡數據需要合法采集。
無Python網絡爬蟲框架Scrapy從入門到精通 作者簡介
張穎,“清穎設計”微信公眾號創始人,現任上海懂得網絡科技有限公司技術部主管,從事編程開發十余年,熟悉Python的方方面面,尤其擅長Python爬蟲和數據分析。
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)
- >
詩經-先民的歌唱
- >
新文學天穹兩巨星--魯迅與胡適/紅燭學術叢書(紅燭學術叢書)
- >
巴金-再思錄
- >
有舍有得是人生
- >
自卑與超越
- >
朝聞道
- >
回憶愛瑪儂