為什么要做爬蟲?
都說現(xiàn)在是"大數(shù)據(jù)時代",那數(shù)據(jù)從何而來?
企業(yè)產(chǎn)生的用戶數(shù)據(jù):
- 百度指數(shù) http://index.baidu.com/#/
- TBI騰訊瀏覽指數(shù) https://tbi.tencent.com/
- 新浪微博指數(shù) http://data.weibo.com/index?display=0&retcode=6102
數(shù)據(jù)平臺購買數(shù)據(jù):
- 數(shù)據(jù)堂 http://www.datatang.com/about/about-us.html
- 國云數(shù)據(jù)市場 http://www.moojnn.com/data-market/
政府/機構(gòu)公開的數(shù)據(jù):
- 中華人民共和國國家統(tǒng)計局?jǐn)?shù)據(jù) http://data.stats.gov.cn/index.htm
- 世界銀行公開數(shù)據(jù) https://data.worldbank.org.cn/
- 納斯達(dá)克 http://www.nasdaq.com/zh
數(shù)據(jù)管理咨詢公司:
-
爬取網(wǎng)絡(luò)數(shù)據(jù):如果需要的數(shù)據(jù)市場上沒有,或者不愿意購買,那么可以選擇招/做一名爬蟲工程師,自己動手豐衣足食。拉勾網(wǎng)Python爬蟲職位
- 通俗的講: 就是模擬 客戶端發(fā)起網(wǎng)絡(luò)請求 ,接收請求的響應(yīng),按照一定的規(guī)則,自動的抓取互聯(lián)網(wǎng)信息的程序。
- 原則上只要瀏覽器能夠做的事情,爬蟲都能夠?qū)崿F(xiàn)
百度百科:網(wǎng)絡(luò)爬蟲介紹 https://baike.baidu.com/item/網(wǎng)絡(luò)爬蟲
爬蟲的基本原理:
- 我們可以將互聯(lián)網(wǎng)比喻為一張大網(wǎng),網(wǎng)絡(luò)爬蟲我們想象為網(wǎng)上的蜘蛛,網(wǎng)頁與網(wǎng)頁之間的聯(lián)系我們理解為節(jié)點,爬蟲就相當(dāng)于是訪問網(wǎng)頁,獲取網(wǎng)頁的信息,又通過節(jié)點可以爬取另一個網(wǎng)站,然后不停的通過一個個節(jié)點即訪問一個個網(wǎng)頁,這樣網(wǎng)站的數(shù)據(jù)就可以被我們獲取下來了。
爬蟲的用途
- 搜索引擎
- 咨詢新聞網(wǎng)站
- 購物助手(慧慧購物)
- 數(shù)據(jù)分析與研究積累原始數(shù)據(jù)資源
- 搶票軟件等
關(guān)于Python爬蟲,我們需要學(xué)習(xí)掌握的知識有:
- Python基礎(chǔ)語法學(xué)習(xí)(基礎(chǔ)知識)
- HTML 前端知識
- 數(shù)據(jù)提取的持久化(文本、數(shù)據(jù)庫)
- 爬蟲(Spider)、反爬蟲(Anti-Spider)、反反爬蟲(Anti-Anti-Spider)之間的斗爭....(header請求頭,)
- Scrapy框架以及scrapy-redis分布式策略(第三方框架)
PHP
- 2014年左右最火的語言,不過多線程支持不好,不適合做爬蟲
JAVA
- 生態(tài)完善,支持第三方庫多,但是代碼量大,不利于維護重構(gòu)。是Python最大的競爭對手
C/C++
- 底層語言,僅次于編繪語言。運行效率很高,學(xué)習(xí)成本高,代碼量超大(底層模塊自己寫)。
Python
- 代碼簡介,語法優(yōu)美,支持大量第三方模塊,支持多任務(wù),有成熟的spider框架。
爬蟲的分類
- 根據(jù)使用場景,網(wǎng)絡(luò)爬蟲可分為 通用爬蟲 和 聚焦爬蟲 兩種.
通用爬蟲
- 通用網(wǎng)絡(luò)爬蟲 是 捜索引擎抓取系統(tǒng)(Baidu、Google、Yahoo等)的重要組成部分。主要目的是將互聯(lián)網(wǎng)上的網(wǎng)頁下載到本地,形成一個互聯(lián)網(wǎng)內(nèi)容的鏡像備份 ,提取重要數(shù)據(jù)(做過濾,分詞,去廣告)。
通用搜索引擎(Search Engine)工作原理
- 通用網(wǎng)絡(luò)爬蟲
- 從互聯(lián)網(wǎng)中搜集網(wǎng)頁,采集信息,這些網(wǎng)頁信息用于為搜索引擎建立索引從而提供支持,它決定著整個引擎系統(tǒng)的內(nèi)容是否豐富,信息是否即時,因此其性能的優(yōu)劣直接影響著搜索引擎的效果。
-
DNS:將域名轉(zhuǎn)化為ip的技術(shù)
流程
第一步:抓取網(wǎng)頁 搜索引擎網(wǎng)絡(luò)爬蟲的基本工作流程如下:
- 1.首先選取一部分的種子URL,將這些URL放入待抓取URL隊列;
- 2.取出待抓取URL,解析DNS得到主機的IP,并將URL對應(yīng)的網(wǎng)頁下載下來,存儲進已下載網(wǎng)頁庫中,并且將這些URL放進已抓取URL隊列。
- 3.分析已抓取URL隊列中的URL,分析其中的其他URL,并且將URL放入待抓取URL隊列,從而進入下一個循環(huán)....
搜索引擎的爬取url通過什么方式獲得?
- 通過網(wǎng)頁外鏈
- 通過鏈接提交
- 各大搜索引擎公司與DNS服務(wù)商合作
Robots協(xié)議:(也叫爬蟲協(xié)議、機器人協(xié)議等),全稱是“網(wǎng)絡(luò)爬蟲排除標(biāo)準(zhǔn)”(Robots Exclusion Protocol),網(wǎng)站通過Robots協(xié)議告訴搜索引擎 哪些頁面可以抓取,哪些頁面不能抓取。
缺點:
1,返回結(jié)果千篇一律,沒有很好的針對性,不能對特殊的的用戶群體返回對應(yīng)的數(shù)據(jù)
2,需要遵循robot協(xié)議
3,搜索引擎通常獲得文本,圖像音頻有困難
聚焦爬蟲
根據(jù)需求產(chǎn)生,
只抓取與需求相關(guān)的數(shù)據(jù)。
我們更多會實現(xiàn)聚焦爬蟲。