用數據說話的年頭,如何能夠搞到完整全面的數據,可是件極其重要且并不容易的事。要真正做好大數據時代的分析,僅僅靠企業內部的數據是遠遠不夠的,還需要借助外部力量。
這個時候,互聯網上的資源就格外可愛了,從網絡上爬取數據資源,就成為了非常關鍵的一環。
什么是網絡爬蟲?
網絡爬蟲也叫網絡蜘蛛,即Web Spider,名字也是非常之形象。
如果把互聯網比喻成一個蜘蛛網,那么Spider就是在網上爬來爬去的蜘蛛。網絡蜘蛛通過網頁的鏈接地址來尋找網頁,從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個網頁,一直循環下去,直到把整個網站所有的網頁都抓取完為止。
如果把整個互聯網就當成一個網站,那么網絡蜘蛛可以用這個原理把互聯網上所有的網頁都抓取下來。
光是聽起來就很有意思,那利用這等技術能做些什么好玩的事兒呢?
小編隨意選取了部分知友的回答,大家感受下~~
@冰藍
之前在北京買房,誰想房價開始瘋長,鏈家的房價等數據分析只給了一小部分,遠遠不能滿足自己的需求。于是晚上花了幾個小時的時間寫了個爬蟲,爬下了北京所有的小區信息及北京所有小區的所有歷史成交記錄。
@陳樂群
上次發現Android QQ和iOS QQ可以顯示網絡狀態(2G/WiFi)之后,突然想到,這樣子好像可以監視某人的出行和作息規律。簡單的來說,在家里或者工作的地方,一般是有WiFi的,然后出門了,WiFi就斷掉了。如果監測頻率足夠頻繁,那么結合一定的推理,可以大致推測出一個人的行動。如果長期監視,那么可以大致推出一個人的作息時間。
因為只有Android QQ和iOS QQ有這個功能,所以要得到一個人的網絡狀態比較麻煩。我的做法是跑 Android 模擬器。然后用按鍵精靈模擬,并把網絡狀態截圖,用 curl post到服務器上。服務器會把每次發送的時間、截圖保存下來。因為是用程序截圖的,所以只要網絡狀態是一樣的,那么截圖就是一樣的,這樣服務器就只會保存2~3張圖片而已,其余的發現是相同的圖片,數據庫做個標記就好了。然后人工做OCR,還是注意到只有2~3張圖片,所以工作量很少。
得到數據后,要做各種統計就可以自己搞了……
@森羴
在用Python寫網頁爬蟲之前,我只用來寫過了一個駕校約車的腳本,讓當時的我不懼上萬的學車同僚,在約車環節沒有輸在起跑線上。
接著那段時間,我女朋友的領導每天下班都會下任務,要收集100條有招聘需求的信息,第二天檢查??吹剿疽拱俣?復制粘貼到半夜,心疼死了。
想到了某個牛人說:一切重復性的工作都可以用程序來完成。于是偷偷花了些時間研究了下她經常查的某些同類業務網站的頁面數據,培育了這只爬蟲。主要技能就是爬這些網站的招聘公司信息及聯系方式,保存到Excel中。
在我將戰斗成果----1000多個客戶資料的Excel表格發給她的時候,先驚喜,后審問,再感慨!依稀記得那天她發了一條朋友圈,內容是:“有個程序員男朋友,感覺好幸福?。。 背删透凶咧本€啊,都能讓她感到幸福,你說這只爬蟲是不是做了很酷很有趣的事情呢?
@柳易寒
我用爬蟲爬了我愛白菜網、超值分享匯、發現值得買、惠惠購物、今日聚超值、留住你、買手黨、沒得比、慢慢買、牛雜網、買個便宜貨、什么值得買、天上掉餡餅、一分網、折800值得買、值值值等網站的折扣信息。
這些網站都是提供的一些及時的、性價比較高的商品,很多時候要一個一個網站的看(重度用戶),很容易就會錯過一些很劃算的商品。
@小白
大二學生一枚,前段時間中期考試,成績一直不出來,又不想每次都登錄,突然就像用以下所學的東西來干點事情。
說干就干,花了我將近4個小時完成成績提醒功能。主要是用Python定時抓取數據(定時用Ubuntu的crontab),分析數據是否變化,然后發送短信。其實大部分時間是花在分析學校模擬登陸那一塊了,畢竟要提取各種值,還有url重定向,本來就才學Python,對一些東西也不是很熟悉。
運行起來之后還是效果還不錯,10分鐘抓一次,第一時間知道了我的概率論。。。
@顧旻瑋
在學校的時候做過一個項目,通過爬微博的文字,分析國內各個地區的用戶收聽蝦米的熱度和最受歡迎的歌手。當然也沒有用什么很復雜的技術,就是寫基本的TF-IDF。
做完的時候覺得自己好有想法啊,能實現這么有意思的東西。后來發現早就有公司做過了。當然別人做的是美國版的。
于是現在,我就在這家公司工作。
@晨晨
朋友交易了一套房子,手機號流落到了各種中介手里,隔幾天就有中介電話騷擾,不勝其煩。每接一個電話都加黑名單,但還是有新號碼打過來,so??問我咋辦!
Android 手機的攔截倒不是問題,但需要房產經紀人的號碼數據庫,就只能去網上爬了!
各個房產站的廣州站點加上58什么的,一個多小時爬了快兩萬個號碼,去重之后還有一萬五千多??
一時興起,又去爬了深圳、北京和上海,現在都不知道拿這些號碼去干嘛了??
PS:貌似活躍房產經紀的數量能反應市場活躍度?
PS:我覺得我可以把全國城市的都爬下來。
@孟德超
非計算機系。所以我做的比起其他人來說要簡單的多,但是卻解決了一些很實用的問題,也讓我認識到各行各業的人都需要學一點編程。
我一個同學做數學建模,需要57個城市兩兩之間的距離。他們本來想在百度查,可是57*56/2=1596,也就是說他們光查數據就要百度1596次。剛好我那個時候接觸了一點爬蟲,就找到一個可以查詢距離的網站,大概寫了幾十行代碼,兩分鐘就解決問題了。
@余生夢
說個簡單實用的例子吧。昨晚突然發現我在某培訓網站的的會員馬上就要過期了,于是趕緊寫了個爬蟲,把沒看完的教學視頻全下載下來了……
@ animalize
用爬蟲技術做了個個人信息收集系統,部署在卡片式電腦(如樹莓派、Cubieboard)上。
人們上各種網站瀏覽感興趣的內容,如果一個個打開看,太浪費時間。如果不去看,又會錯過很多感興趣的內容,很可惜。這個東西呢,定時去獲取用戶感興趣的信息,并通過web的方式展示出來。用戶每天看一眼這個系統就可以了。(有網友說用RSS就可以了,可是現在提供RSS的網站實在不多,我這里大部分信息是從普通網頁里提取的。)
@蘿莉控夫斯基
我的愛人是某網絡公司的銷售,需要收集各種企業信息然后打電話聯系。于是乎利用采集腳本抓一坨一坨的資料給她用,而她的同事天天自己搜資料整理到半夜。
不過,小編溫馨提示,好東西可要用到正道上哦~~