包郵 Python 3.x網(wǎng)絡(luò)爬蟲從零基礎(chǔ)到項目實戰(zhàn)
-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應(yīng)用
-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調(diào)優(yōu)實踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
Python 3.x網(wǎng)絡(luò)爬蟲從零基礎(chǔ)到項目實戰(zhàn) 版權(quán)信息
- ISBN:9787301312827
- 條形碼:9787301312827 ; 978-7-301-31282-7
- 裝幀:70g膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
Python 3.x網(wǎng)絡(luò)爬蟲從零基礎(chǔ)到項目實戰(zhàn) 本書特色
● 案例完整 本書中的所有案例都是通過“理論講解 + 環(huán)境搭建 + 完整代碼及分析 + 運行結(jié)果”這種完善的結(jié)構(gòu)進行講解的。此外,復(fù)雜的案例配有項目結(jié)構(gòu)圖,有難度的案例還分析了底層源碼,并且對于所有案例的講解,都考慮到了讀者可能會遇到的各種問題。 ● 案例經(jīng)典實用 本書中的案例大多是由真實項目簡化而來的,既體現(xiàn)了所述知識點的精華,又屏蔽了無關(guān)技術(shù)的干擾。此外,本書在案例講解時,也充分考量了相關(guān)知識的各種實際應(yīng)用場景,將同一個技術(shù)在多個場景下的不同角色都做了充分的講解。 ● 進階的必學(xué)技術(shù)一網(wǎng)打盡 本書講解的爬蟲分析、發(fā)送請求、數(shù)據(jù)提取、數(shù)據(jù)存儲、并發(fā)爬蟲和分布式爬蟲等技術(shù)是每一位爬蟲程序員在進階路上的必學(xué)知識。本書將這些技術(shù)的核心要點進行了深入細致的講解,可以幫助讀者盡快取得技術(shù)上的突破。 ● 系統(tǒng)講解前沿稀缺知識 本書中介紹的Selenium和Scrapy等技術(shù),均被國內(nèi)外各大互聯(lián)網(wǎng)公司大量使用,但目前這些技術(shù)的相關(guān)資料卻少之又少,實戰(zhàn)型的書籍更是匱乏。本書對這些學(xué)習(xí)資源相對稀缺,但同時又是經(jīng)典必學(xué)的知識進行了較為系統(tǒng)的講解,非常有助于讀者快速提升自己已有的知識體系。 ● 文字通俗易懂 本書的作者不僅有著多年的開發(fā)經(jīng)驗,還承擔(dān)過多年的技術(shù)講師及教學(xué)管理工作,非常擅長用清晰易懂的文字闡述各種難點技術(shù)。
Python 3.x網(wǎng)絡(luò)爬蟲從零基礎(chǔ)到項目實戰(zhàn) 內(nèi)容簡介
《Python 3.x網(wǎng)絡(luò)爬蟲從零基礎(chǔ)到項目實戰(zhàn)》介紹了如何使用Python來編寫網(wǎng)絡(luò)爬蟲程序,內(nèi)容包括網(wǎng)絡(luò)爬蟲簡介、發(fā)送請求、提取數(shù)據(jù)、使用多個線程和進程進行并發(fā)抓取、抓取動態(tài)頁面中的內(nèi)容、與表單進行交互、處理頁面中的驗證碼問題及使用Scrapy和分布式進行數(shù)據(jù)抓取,并在很后介紹了使用本書講解的數(shù)據(jù)抓取技術(shù)對幾個真實的網(wǎng)站進行抓取的實例,旨在幫助讀者活學(xué)活用書中介紹的技術(shù)。 本書提供了與圖書內(nèi)容全程同步的教學(xué)錄像。此外,還贈送了大量相關(guān)學(xué)習(xí)資料,以便讀者擴展學(xué)習(xí)。 本書適合任何想學(xué)習(xí)Python爬蟲的讀者,無論您是否從事計算機相關(guān)專業(yè),是否接觸過Python,均可以通過學(xué)習(xí)本書快速掌握Python爬蟲的開發(fā)方法和技巧。
Python 3.x網(wǎng)絡(luò)爬蟲從零基礎(chǔ)到項目實戰(zhàn) 目錄
目錄
第1章 爬蟲基礎(chǔ) 1
1.1 認(rèn)識爬蟲 2
1.2 Python環(huán)境 4
1.3 Python語法 11
1.4 網(wǎng)頁結(jié)構(gòu) 62
1.5 HTTP協(xié)議 68
1.6 本章小結(jié) 84
1.7 實戰(zhàn)練習(xí) 84
第2章 開始爬蟲 85
2.1 urllib模塊 86
2.2 requests模塊 88
2.3 re模塊 110
2.4 項目案例:爬百度貼吧 122
2.5 本章小結(jié) 128
2.6 實戰(zhàn)練習(xí) 128
第3章 更多數(shù)據(jù)提取的方式 129
3.1 XPath和LXml 130
3.2 BeautifulSoup4 137
3.3 JsonPath 143
3.4 性能和選擇 148
3.5 項目案例:爬騰訊招聘網(wǎng) 148
3.6 本章小結(jié) 154
3.7 實戰(zhàn)練習(xí) 154
第4章 并發(fā) 155
4.1 100萬個網(wǎng)頁 156
4.2 進程 161
4.3 線程 181
4.4 鎖 191
4.5 協(xié)程 202
4.6 線程、進程、協(xié)程對比 206
4.7 并發(fā)爬蟲 207
4.8 本章小結(jié) 216
4.9 實戰(zhàn)練習(xí) 216
第5章 數(shù)據(jù)存儲 217
5.1 文件存儲 218
5.2 關(guān)系型數(shù)據(jù)庫存儲 221
5.3 非關(guān)系型數(shù)據(jù)庫存儲 231
5.4 項目案例:爬豆瓣電影 266
5.5 本章小結(jié) 270
5.6 實戰(zhàn)練習(xí) 270
第6章 Ajax數(shù)據(jù)爬取 271
6.1 Ajax的概念 272
6.2 實現(xiàn)Ajax 272
6.3 項目案例:爬斗魚直播 282
6.4 本章小結(jié) 286
6.5 實戰(zhàn)練習(xí) 286
第7章 動態(tài)渲染頁面爬取 287
7.1 Selenium 288
7.2 項目案例:爬京東商品 306
7.3 本章小結(jié) 311
7.4 實戰(zhàn)練習(xí) 312
第8章 圖形驗證碼識別 313
8.1 使用pytesseract 314
8.2 使用打碼平臺 317
8.3 項目案例:識別驗證碼完成登錄 323
8.4 本章小結(jié) 326
8.5 實戰(zhàn)練習(xí) 326
第9章 模擬登錄 327
9.1 Cookie 328
9.2 Session 330
9.3 Cookie池的搭建 332
9.4 項目案例:登錄GitHub 335
9.5 本章小結(jié) 340
9.6 實戰(zhàn)練習(xí) 340
第10章 代理IP的使用 341
10.1 代理IP 342
10.2 代理IP池 348
10.3 付費代理的使用 351
10.4 項目案例:使用代理IP爬微信公眾號 358
10.5 本章小結(jié) 368
10.6 實戰(zhàn)練習(xí) 368
第11章 Scrapy框架 369
11.1 認(rèn)識Scrapy 370
11.2 編寫Scrapy的**個案例 373
11.3 Spider詳情 384
11.4 操作數(shù)據(jù) 403
11.5 模擬登錄 432
11.6 中間件 446
11.7 分布式 458
11.8 項目案例:爬新浪新聞 500
11.9 本章小結(jié) 510
11.10 實戰(zhàn)練習(xí) 510
第12章 項目案例:爬;ňW(wǎng)信息 511
12.1 分析網(wǎng)站 512
12.2 開始爬取 515
第13章 項目案例:爬北京地區(qū)短租房信息 523
13.1 分析網(wǎng)站 524
13.2 開始爬取 525
第14章 項目案例:爬簡書專題信息 531
14.1 分析網(wǎng)站 532
14.2 開始爬取 535
第15章 項目案例:爬QQ音樂歌曲 539
15.1 分析網(wǎng)站 540
15.2 開始爬取 542
第16章 項目案例:爬百度翻譯 545
16.1 分析網(wǎng)站 546
16.2 開始爬取 550
第17章 項目案例:爬百度地圖API 555
17.1 分析網(wǎng)站 556
17.2 開始爬取 560
第18章 項目案例:爬360圖片 571
18.1 分析網(wǎng)站 572
18.2 開始爬取 573
第19章 項目案例:爬當(dāng)當(dāng)網(wǎng) 577
19.1 分析網(wǎng)站 578
19.2 開始爬取 580
第20章 項目案例:爬唯品會 585
20.1 分析網(wǎng)站 586
20.2 開始爬取 589
第21章 項目案例:爬智聯(lián)招聘 593
21.1 分析網(wǎng)站 594
21.2 開始爬取 597
Python 3.x網(wǎng)絡(luò)爬蟲從零基礎(chǔ)到項目實戰(zhàn) 節(jié)選
第1章 爬蟲基礎(chǔ) 互聯(lián)網(wǎng)上有浩瀚的數(shù)據(jù)資源,要想爬取這些數(shù)據(jù)就離不開爬蟲。本章學(xué)習(xí)關(guān)于Python爬蟲的一些技術(shù)內(nèi)容。 本章重點講解以下內(nèi)容。 爬蟲的相關(guān)概念 Python語法的一些基礎(chǔ)知識 網(wǎng)頁相關(guān)的知識,包括HTML和HTTP 1.1 認(rèn)識爬蟲 網(wǎng)絡(luò)爬蟲又稱為網(wǎng)頁蜘蛛、網(wǎng)絡(luò)機器人,通俗來講,網(wǎng)絡(luò)爬蟲就是一段程序,通過這段程序可以在網(wǎng)站上獲取需要的信息,如文字、視頻、圖片等。此外,網(wǎng)絡(luò)爬蟲還有些不常用的名稱,如螞蟻、自動索引、模擬程序或蠕蟲等。 爬蟲的設(shè)計思路如下。 (1)明確需要爬取的網(wǎng)頁的URL地址。 (2)通過HTTP請求來獲取對應(yīng)的HTML頁面。 (3)提取HTML中的內(nèi)容。這里有兩種情況:如果是有用的數(shù)據(jù),就保存起來;如果是需要繼續(xù)爬取的頁面,就重新指定第(2)步。 為了更方便地理解爬蟲,下面介紹大數(shù)據(jù)時代獲取數(shù)據(jù)的方式。 1.1.1 大數(shù)據(jù)時代獲取數(shù)據(jù)的方式 隨著社會的高速發(fā)展,科技發(fā)達,信息暢通,人們之間的交流越來越密切,生活也越來越方便,大數(shù)據(jù)就是這個高科技時代的產(chǎn)物。那么在大數(shù)據(jù)時代,獲取數(shù)據(jù)的方式有哪些? (1)企業(yè)產(chǎn)生的數(shù)據(jù):百度搜索指數(shù)、騰訊公司業(yè)績數(shù)據(jù)、阿里巴巴集團財務(wù)及運營數(shù)據(jù)、新浪微博微指數(shù)等。 (2)數(shù)據(jù)平臺購買的數(shù)據(jù):數(shù)據(jù)平臺包括數(shù)據(jù)堂、國云數(shù)據(jù)市場、貴陽大數(shù)據(jù)交易所等。 (3)政府/機構(gòu)公開的數(shù)據(jù):國家統(tǒng)計局?jǐn)?shù)據(jù)、中國人民銀行調(diào)查統(tǒng)計司統(tǒng)計數(shù)據(jù)、世界銀行公開數(shù)據(jù)、聯(lián)合國數(shù)據(jù)庫、納斯達克綜合指數(shù)、新浪美股實時行情等。這些數(shù)據(jù)通常都是由各地政府統(tǒng)計上報,或者由行業(yè)內(nèi)專業(yè)的網(wǎng)站、機構(gòu)等提供。 (4)數(shù)據(jù)管理咨詢公司的數(shù)據(jù):麥肯錫、埃森哲、尼爾森、中國互聯(lián)網(wǎng)絡(luò)信息中心、艾瑞咨詢等數(shù)據(jù)管理咨詢公司,通常擁有龐大的數(shù)據(jù)團隊,一般通過市場調(diào)研、問卷調(diào)查、固定的樣本檢測、與各行各業(yè)的公司合作、專家對話來獲取數(shù)據(jù),并根據(jù)客戶需求制定商業(yè)解決方案。 (5)爬取網(wǎng)絡(luò)數(shù)據(jù):如果數(shù)據(jù)市場上沒有需要的數(shù)據(jù),或者價格太高不愿意購買,那么可以利用爬蟲技術(shù),獲取網(wǎng)站上的數(shù)據(jù)。 第5種方式就是本書要重點介紹的內(nèi)容。 1.1.2 爬蟲的分類 爬蟲有很多種類型,根據(jù)使用場景的不同,可以將爬蟲分為通用爬蟲和聚焦爬蟲兩種。 1. 通用爬蟲 隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,萬維網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的挑戰(zhàn)。搜索引擎的核心就是通用爬蟲,例如,傳統(tǒng)的通用搜索引擎谷歌、百度等,作為一個輔助人們檢索信息的工具成為用戶訪問萬維網(wǎng)的入口和指南。 隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,萬維網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的挑戰(zhàn)。搜索引擎的核心就是通用爬蟲,例如,傳統(tǒng)的通用搜索引擎谷歌、百度等,作為一個輔助人們檢索信息的工具成為用戶訪問萬維網(wǎng)的入口和指南。 通用爬蟲是搜索引擎爬取系統(tǒng)的重要組成部分,主要目的是將互聯(lián)網(wǎng)上的網(wǎng)頁下載到本地,形成一個互聯(lián)網(wǎng)內(nèi)容的鏡像備份。 通用爬蟲是從互聯(lián)網(wǎng)中搜集網(wǎng)頁、采集信息。采集的網(wǎng)頁信息可以為搜索引擎建立索引提供支持,它決定著整個引擎系統(tǒng)的內(nèi)容是否豐富,信息是否及時,因此其性能的優(yōu)劣直接影響著搜索引擎的效果。搜索引擎網(wǎng)絡(luò)爬蟲的基本工作流程如下。 (1)爬取網(wǎng)頁。 如圖1-1所示,取一部分種子URL,將這些種子放入待爬取URL隊列。取出待爬取URL,解析DNS得到主機的IP,并將URL對應(yīng)的網(wǎng)頁下載下來,存儲到已下載的網(wǎng)頁庫中,再將這些URL放入已爬取的URL隊列。分析已爬取的URL隊列中的URL,分析其中的其他URL,并且將其中需要繼續(xù)爬取的URL放入待爬取的URL隊列,從而進入下一個循環(huán)。 圖1-1 搜索引擎網(wǎng)絡(luò)爬蟲的基本工作流程 在圖1-1中,搜索引擎獲取新網(wǎng)站的URL,是輸入了一定的規(guī)則,如標(biāo)注為nofollow的鏈接或Robots協(xié)議。 提 示Robots協(xié)議也稱為爬蟲協(xié)議、機器人協(xié)議等,其全稱為網(wǎng)絡(luò)爬蟲排除標(biāo)準(zhǔn)(Robots Exclusion Protocol)。網(wǎng)站通過Robots協(xié)議告訴搜索引擎哪些頁面可以爬取,哪些頁面不能爬取,例如,淘寶網(wǎng):https://www.taobao.com/robots.txt,騰訊網(wǎng):http://www.qq.com/robots.txt。 (2)數(shù)據(jù)存儲。 搜索引擎通過爬蟲爬取到的網(wǎng)頁,將數(shù)據(jù)存入原始頁面數(shù)據(jù)庫。其中的頁面數(shù)據(jù)與用戶瀏覽器得到的HTML是一致的。搜索引擎網(wǎng)絡(luò)爬蟲在爬取頁面的同時,也做重復(fù)內(nèi)容檢測,一旦遇到訪問權(quán)重很低的網(wǎng)站上有大量抄襲、采集或復(fù)制的內(nèi)容,就有可能不再繼續(xù)爬行。 (3)預(yù)處理。 搜索引擎將爬蟲爬取的頁面進行預(yù)處理,如提取文字、中文分詞、索引處理等。 除HTML文件外,搜索引擎通常還能爬取和索引以文字為基礎(chǔ)的多種文件類型,如 PDF、Word、WPS、XLS、PPT、TXT文件等。 (4)提供檢索服務(wù),網(wǎng)站排名。 搜索引擎在對信息進行組織和處理后,為用戶提供關(guān)鍵字檢索服務(wù),將用戶檢索相關(guān)的信息展示給用戶。同時會根據(jù)頁面的PageRank值(鏈接的訪問量排名)來進行網(wǎng)站排名,Rank值高的網(wǎng)站在搜索結(jié)果中會排名較前。 通用爬蟲雖然功能很強大,但是也存在一定的局限性。 (1)不同領(lǐng)域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜索引擎所返回的結(jié)果包含大量用戶不關(guān)心的網(wǎng)頁。 (2)通用搜索引擎的目標(biāo)是盡可能地擴大網(wǎng)絡(luò)覆蓋范圍,有限的搜索引擎服務(wù)器資源與無限的網(wǎng)絡(luò)數(shù)據(jù)資源之間的矛盾將進一步加深。 (3)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,萬維網(wǎng)數(shù)據(jù)形式越來越豐富,如圖片、數(shù)據(jù)庫、音頻、視頻等不同數(shù)據(jù)大量出現(xiàn),通用搜索引擎往往對這些信息含量密集且具有一定結(jié)構(gòu)的數(shù)據(jù)無能為力,不能很快地發(fā)現(xiàn)和獲取。 (4)通用搜索引擎大多提供基于關(guān)鍵字的檢索,難以支持根據(jù)語義信息提出的查詢。 2. 聚焦爬蟲 為了解決通用爬蟲的局限性,定向爬取相關(guān)網(wǎng)頁資源的聚焦爬蟲應(yīng)運而生。聚焦爬蟲是一個自動下載網(wǎng)頁的程序,它根據(jù)既定的爬取目標(biāo),有選擇地訪問萬維網(wǎng)上的網(wǎng)頁與相關(guān)的鏈接,獲取所需信息。與通用爬蟲不同的是,聚焦爬蟲并不追求大的覆蓋范圍,而將目標(biāo)定為爬取與某一特定主題內(nèi)容相關(guān)的網(wǎng)頁,為面向主題的用戶查詢獲取數(shù)據(jù)資源。 提 示 第2~21章介紹的網(wǎng)絡(luò)爬蟲,就是聚焦爬蟲。
Python 3.x網(wǎng)絡(luò)爬蟲從零基礎(chǔ)到項目實戰(zhàn) 作者簡介
史衛(wèi)亞,博士,副教授,IEEE會員,CCF會員,INNS會員。2009年獲得復(fù)旦大學(xué)計算機應(yīng)用專業(yè)博士學(xué)位。2015—2016年在美國北卡羅來納大學(xué)做訪問學(xué)者,對機器學(xué)習(xí)、大數(shù)據(jù)檢索、數(shù)據(jù)庫、圖像和視頻處理、人工智能和模式識別等有深入研究。
- >
苦雨齋序跋文-周作人自編集
- >
回憶愛瑪儂
- >
羅曼·羅蘭讀書隨筆-精裝
- >
經(jīng)典常談
- >
伯納黛特,你要去哪(2021新版)
- >
有舍有得是人生
- >
姑媽的寶刀
- >
新文學(xué)天穹兩巨星--魯迅與胡適/紅燭學(xué)術(shù)叢書(紅燭學(xué)術(shù)叢書)