使用爬蟲如果不是用來為機器學習或數據挖掘收集數據,還能做什麼有趣的事情呢……?

題主大學本科,對爬蟲感興趣,但是往往爬到了數據不知道怎麼用……也可能是爬東西沒什麼目的性吧。我看好多爬蟲都是為了收集大量的數據,提供給機器學習或者數據挖掘方面的後續研究。

但是數據挖掘和機器學習坑太多,我不想花太多時間,畢竟還是要以學習計算機基礎知識為主……

所以想問一下,有沒有什麼別的思路……

┑( ̄Д  ̄)┍


我是爬蟲的超級愛好者,或許我可以來回答你的問題。

最開始的時候我就是簡單的做爬蟲,抓出來一些數據,覺著自己真是太厲害了,那時候的興趣來源於我可以用代碼把一些有意思的數據快速大量的提取出來,而那時候最大的成就感就是在終端看著數據一條一條的列印出來,別提多興奮。

慢慢的爬蟲做了很多,我發現無論是在本地、我的伺服器上或者資料庫里都有一堆數據,像下面這樣子的:

  • 100萬知乎用戶數據.txt
  • 600萬B站視頻信息.xls
  • 鏈家南京租房數據.csv
  • music163.sql

這些數據我要怎麼處理掉呢?直接刪除了嗎?捨不得啊,聽說有一個叫可視化的東西可以把手中的一些數據進行展示,聽起來好像不錯的樣子。

更讓我興奮的是Python竟然有這個可視化的庫Matplotlib,真是太友好了。但是當我動手去做的時候發現了一些問題,好像光有圖表不行,因為在進行可視化之前我必須要對數據進行一些統計計算,通過種種途徑我知道了另一個Python進行科學計算的庫NumPy ,準備了這麼多之後我發現終於我可以做出一些簡單的圖表了。

不過這些圖為什麼總是沒有別人的好看呢?

直到我認識了美如畫的ECharts

再後來在某次看美國佬公開課的時候我發現了比Echarts更加漂亮的圖表,到處詢問之後,終於揭開了它的真面目D3.js

事到如此,我已經能做出令自己的滿意的圖表了,而在這一而再再而三的過程中,我也學到了一些比較有意思的知識。

有一段時間,我感覺沒有什麼有意思的數據可以爬了,碰巧我的好朋友發來一個消息

」我女朋友在參加一個比賽,要投票,幫我投一下,網址:xxx「

」好啊,沒問題「

」對了,這個投票可以一直投,投完一次你只要清除一下瀏覽器cookie就能繼續投了,沒事的話你幫我多投一投。「

等等,還有這麼渣渣的設定?!那意思是不是我可以用Python去模擬無限次的投票呢?說時遲那時快,話語間我操起F12...一頓分析之後發現這裡的投票,只需要每次往一個url上post兩個固定參數就行了。

不到五分鐘,我用Python寫出了代碼,然後用多線程刷起了票,而當時我好朋友的女朋友的排名也就頓時上升到了第一名,這事情我驕傲了好一段時間。

越說越興奮,完全剎不住鍵盤。一定要寫爬蟲嗎?我看未必,何不嘗試:

1、每隔半小時從糗事百科隨機抓取一個段子發布到自己的新浪微博上,這事情我干過,不信你去看看我之前測試用的微博:Sina Visitor System,至於怎麼做這兒給你兩篇文章:

  • python模擬登錄新浪微博
  • Python爬蟲實戰(1):爬取糗事百科段子

如果你嫌模擬登陸麻煩,告訴你一個投機取巧的方法:先自己登陸新浪微博然後把cookie取出來保存到本地。

2、寫一個微信訂閱號機器人,你可以和他發文字或者語音聊天,這事我也做過。

怎麼做?小黃雞網頁版聊天機器人(simsimi)--牛人趣事小黃雞你去調它的介面就行了,至於Python微信開發,你可以看看這個:從零開始 Python 微信公眾號開發

怎麼樣?是不是發現不止是爬蟲了?

很多人問我如何學習Python爬蟲,為此我整理編寫了一本Python爬蟲相關的電子書,主要包括Python入門、Python爬蟲入門到進階、Python爬蟲面試總結等等。可以在微信公眾號【一個程序員的日常】後台回復關鍵詞【1】獲取這本電子書。


很多啊,可以爬1024下片……

或者,我這裡有個例子:使用BeautifulSoup爬蟲(以知乎為例) 統計知乎的用戶中,粉絲的個數。可以看到,如果一個人的粉絲超過50個,則超過了80%的知乎用戶。


爬蟲可以改變你數據化的程度,提升你看問題的專業性!

造數,一學就會的超級便利的數據採集工具

問題描述里 很明顯的體現出題主是為了爬而爬的狀態,學了技能,不知道怎麼去用。

關於爬蟲本身,有兩點分享:

1.有需求的價值肯定遠在僅僅學習工具使用之上的。

目的明確,那麼你總會找到你需要的工具和方法,因為會用工具,強行使用只會迷茫起來。並不是會了煎雞蛋就要給所有人來一份,或者要思考怎麼樣讓所有人愛吃煎雞蛋。而是看到有很多人需要煎雞蛋再去做一個合適的煎雞蛋。

2.爬蟲不光可以採集數據,也可以執行規定好的操作。

在上古時期,很多人使用爬蟲技術養一大批賬號,按照指令做重複的工作。不僅有各種閱讀、轉發還有抽獎、薅羊毛等等。

---------------

如果僅僅是使用數據呢?那也是樂趣多得很的:

1. 創業和就業之間抉擇,想知道創業公司 拿投資的情況么?

投融資的數據如何快速採集 - 知乎專欄

2.想減少手工重複的勞動,大幅提高工作效率么?

一個來自用戶的時薪「暴漲」的故事 - 知乎專欄你寫論文時發現了哪些神網站? - 知乎

3.可以爬豆瓣電影、各大視頻網站,每天監控起來閱讀量等等可以知道怎麼從更高的角度去找資源。

4.採集知乎日報

Python 的練手項目有哪些值得推薦?

--------------------------------------------------------------------------------------------------

造數 -最簡單最好用的雲爬蟲


告訴你一個賺點生活費的方法,可以用爬蟲技術做seo。

有的人就是以這個為職業,啥叫「SEO」,自己搜吧。

可以看看

Python爬蟲聯想詞視頻和代碼

知乎專欄

跟黃哥學Python爬蟲抓取代理IP和驗證。

知乎專欄

跟黃哥學Python爬蟲抓取代理IP

知乎專欄


0. 簡介

  • 根據爬蟲抓取的三峽水位和流量數據,筆者開發了一套三峽發電量估算系統;
  • 該系統估算結果與實際值非常接近,誤差在-0.18% 到 3.96% 之間;
  • 本文介紹了模型的構架原理、參數估算方法和部分模型估算數據。

1. 前言

竊以為,爬蟲更多的注重是大規模抓取數據;至於如何挖掘和分析數據,還需要結合每個人的專業知識背景。例如筆者根據三峽集團公布的數據,較為準確得估算了三峽水庫的發電量。由於發電量屬於水電集團的機密信息,三峽公司是不可能公開詳細發電量數據。為了模擬發電量,筆者開發了一套基於Python的三峽發電量估算系統。這套系統非常簡單,算上注釋和空格也只有不到150行代碼;鑒於本系統有非常多的假設來簡化計算,本文所有結果僅供參考,筆者不為任何潛在的投資等行為負責。

2. 水力發電原理簡介

首先,讓我們簡單看一下水力發電的原理。理論上說,水力發電是將水的重力勢能轉化成了電能。在Fig. 1中,大壩前的庫前水位較高,水通過引水管道流過水輪機(流速Q),最終流到水庫下游。由於水庫上下游之間由水位差(圖中的H),即水從高處流向地處,重力勢能轉化成動能;高速水流衝擊水輪機的葉片,推動轉子轉動,從而切割磁場產生電能。因此,影響水輪機的功率的因素主要有兩個,水流流速(Q)和上下游水位差(H)。在發電機組的額定功率範圍內,流速越高,水位差越大,水輪發電機的功率越高。此外,如果水位差達不到額定水頭,水輪發電機的功率也將小於額定功率。所以,影響三峽水庫發電量的因素主要有三個:

  • 出庫流量;
  • 上下游水位差;
  • 發電機功率。

Fig. 1 水力發電原理圖 (Edited from:水能是回報率最高的能源-)

3. 發電機估算系統的參數估計

根據水輪發電機的原理,我們得知出庫流量、上下游水位差和水輪發電機的實際功率是影響發電量的三大因素,下文將一一解釋這三個因素的定量化估計。

3.1 出庫流量和水輪機開機數

由於出庫流量已知,只要計算出每個取水口的流量,我們就可以估算現有的出庫流量能夠滿足多少發電機的需求。為了簡化計算,我們做這些假設:

  • 所有的出庫流量優先滿足發電機的需求,其次用做泄洪、航運、沖沙等其他需求;
  • 三峽水庫共有32台發電機組,默認從01號機組開始開機,根據開機數依次類推。

根據三峽的調度報告[1],發電機組的泄洪量跟庫前水位是一個二次曲線關係。如果我們計算對應發電機台數下的水庫泄洪量與發電機總額定流量的比值,稱之為流量係數;這個流量係數與庫前水位是二次曲線關係。根據擬合曲線和實測庫前水位,我們可以估算流量係數;根據流量係數,我們就可以估算實測出庫流量下的開機數,公式如下所示:

GeneratorNum = int(Outflow / (FlowCoeff * RatedFlow))

if GeneratorNum &> 32, GeneratorNum = 32.

其中 GeneratorNum是水輪機開機數,Outflow是實測出庫流量,FlowCoeff是上文提到的流量係數,RatedFlow是平均每台水輪機的額定流量, int() 是指取結果的整數位,例如,int(15.8) = 15。

注1:流量係數為實際流量與相應發電機總流量之間的比值。

注2:圖中只展示兩組水輪發電機台數下的對應關係,但是其他台數也有類似曲線。

Fig. 2 不同開機台數下庫前水位與流量係數擬合關係圖

3.2 上下游水位差的計算

上下游水位差的計算比較容易實現,庫前水位減去庫後水位即可(水位差有時候也簡稱水頭)。水位差的計算結果將用來估算水輪發電機的實時功率。

3.3 水輪發電機的實時功率估算

當水輪發電機的水頭為額定水頭,流速為額定流速時,發電機的額定功率是700 MW。 實際生產中,水輪發電機的水頭往往達不到額定水頭,因此發電機的功率也要小於額定功率。我們根據發電機的限制出力曲線[1],通過實時水頭來估算水輪發電機的實時功率。

Fig. 3 左岸VGS機組的出力(功率)限制曲線

3.4 時段內總發電量估算

根據水輪機開機數,實時功率和流量係數,我們可以計算某時間內的總發電量,公式如下所示:

Wt = sum_{i}^{GeneratorNum}{(Power_{i} * FlowCoeff* TimeStamp)}

其中 Wt是該時段內總發電量,GeneratorNum是水輪機開機數,Poweri 是第i組發電機組的實時功率,FlowCoeff是流量係數,TimeStamp是時間間隔,本文中是6小時。

註:這裡假定6小時內總發電量的相對變化可以忽略不計。

4. 模型實現流程圖簡介

三峽發電量估算系統的主要思路如Fig. 4 所示。模型的輸入項包括庫前後水位和出庫流量,計算過程包括了前文提到的三個參數和總發電量,輸出的結構包括發電量、實時功率等。

』Fig. 5 模型流程示意圖

5. 模型結果驗證和討論

這套估算系統的運算區間為 2012年7月8日至2016年7月31日,計算了每隔六小時的發電量,所有發電機總實際功率、棄水量和發電機開機數。為了驗證估算系統的性能,筆者計算了2012年第三季度至2016年第三季度的各季度發電量,比較了模型計算值與實際發電量,結果見Fig. 6. Fig. 6 可以看出估算系統的結果與實際發電量非常接近,平均誤差-1.70%,最大誤差-4.22%。 鑒於筆者沒有更精確的數據來驗證模型,暫且認為該估算系統能夠有效地估算三峽水庫的發電量。

註:2012年Q3從7月8日開始計算,所以估計值比實際值少了七天的發電量。

Fig. 6 三峽發電量估算系統與各季度實際發電量的對比圖(Data source: 長江電力 via 雪球網)

雖然估計值與實測值較為接近,該系統仍有可以改進的地方。例如:

  • 模型中沒有考慮水輪發電機故障、維修與保養的情況;

  • 模型中的一些假設與實際情況可能有所出入;
  • 模型中採用出庫流量,而不是入庫流量,是一種相對取巧的做法,etc。

6. 模型最新預測結果

2017年1月2日,筆者根據預測了三峽電站2016年的發電量約為942億千瓦時;2017年1月5日,長江電力發布的數據顯示,三峽電站2016年總發電量約為935.33億千瓦時(Data source: 長江電力 via 雪球網),預測值與實際值的誤差在0.7%左右,預測結果已經足夠準確。

一些預測數據細節如下所示:

  • 根據估算,三峽電站在第四季度的發電量為196億 千瓦時;

  • 在95%的置信水平(Confidence level)下,三峽電站的發電量範圍:(179億, 213億) 千瓦時;

  • 因此,三峽電站全年的發電估計值為:942 ± 17.1 億千萬時。

7. 總結(Take-home points)

  • 基於Python的三峽發電量估算系統的結果與實際值非常接近,系統性能較好;
  • Python的特性能夠為初學者和非計算機專業人士提供很大的便利;
  • 該系統還有很多可以改進的地方,由於數據有限,暫且認為能夠有效地估算三峽發電量;
  • 基於這套系統,筆者將會做更多的數據分析和數據挖掘工作,敬請期待~~

The end, thanks for reading.

References: 見評論。

PS:本文首發於知乎專欄, 略有刪改。


pornhub xvideos tube8 youporn porntube,先把這些爬完再說,順便還可以用機器學習,把爬出來的結果分類。

看,是不是很好,既訓練了你的爬蟲能力,又學習了ml,還讓你成為了老司機


試了下重構的版本,還沒完善,老司機都懂的。

PS:這個版本沒做對於分頁的爬取,也沒有配置文件和修改配置的圖形界面,非常簡陋,唯一的好處就是:穩定。

實現方案改為:apache http client+jsoup+wget


作為數據採集的老司機,總結來說,爬蟲採集的數據能做什麼,這個答案確實千奇百怪,什麼都有,重點並不在於爬蟲,爬蟲只是獲取數據的工具,重點在於你拿數據做什麼用,同樣的數據,拿在不同的人手上就有不同的價值和用途。

舉個栗子,假設你採集到100個北京市的有錢人資料,你能做什麼呢?

如果你是個賣豪車的,你可能會想辦法賣幾輛車給這些人,可能賺不少錢,如果你是個賣房的,可能買幾套房,賺更多,如果你只是個賣煎餅果子的,也許你只能嘗試賣幾個煎餅果子,可能他們還不吃這個東西。

回到正題,以我做爬蟲的經驗來講,我們現在的爬蟲平台擁有50萬的用戶,甚至在海外還有用過萬的用戶群體,那這些人到底拿爬蟲爬到的數據做什麼呢。當然有一些比較典型的場景,可以根據一些行業進行劃分,具體如下:

政府行業

1、實現政府相關信息的全網監測,監測內容涵蓋政府官方新聞、媒體自發報道、
政府其他新聞,重點監測對象為新聞、門戶、論壇、微博等網站。


2、實現政府相關信息的第一時間反饋,從而使政府部門第一時間掌握社會輿論的
走向和趨勢,及時制定相應的計劃和方案。


3、針對突發事件,負面事件,實現第一時間掌握信息。從而及時分析整個事件起
因,預測傳播度,媒體關注度,影響力,評估後期危機公關效果,制定深度分析報告。
4、實現海量數據清晰分類,按照不同條件或多維度進行整理。可按照輿情的性質、重要程度等對相關信息進行分類管理。

稅務行業

隨著互聯網的發展和信息數據的爆炸式增長,稅務部門對互聯網信息的採集、各方數據的深入調和匹配、內外數據的關聯和互動提出了更高的要求。因此如何獲取互聯網和第三方的涉稅信息並挖掘其中的價值,成為了稅務部門較為迫切的需求。稅務部門的各項工作開展需要強有力的數據支撐,需要全方位多維度識別漏征漏管戶,提高補查稅款能力,提高涉稅風險識別、風險監控、風險預警、風險趨勢分析能力。

徵信行業

1.滿足徵信企業的大量企業數據採集需求。通過驗證碼破解、附件下載等技術優勢,實現從工商信息公示網等各大政府部門
和機構官網採集及時、全面、大量的數據,為某企業的分析提供了持續更新的數據源。

2.無縫與本地數據分析系統對接,根據關聯欄位關聯數據集合,快速生成徵信報
告。無縫將採集系統和分析系統對接,並根據組織機構代碼將來自多源的數據進行關聯,同時將數據集合接入分析模型,快速生成徵信報告。


3.大幅度削減人力成本和硬體成本。提高採集效率,有效降低學習成本,大幅度削減人力成本。大幅度降低硬體壓力。

教育行業

高等院校開設大數據應用課程,希望有簡單,快速上手,無需編程的可視化大數據採集工具,方便教學演示,從而讓老師與學生快速獲取相關應用案例數據,對數據進行建模,配合課程進行講解,理論與實踐相結合,提高教學質量。

電商行業

例如電商可以利用大數據資源給用戶提供個性化和精準的商品推薦;還可根據商品的購買和瀏覽數據進行優質產品信息的匯總;電商可以為消費者提供準確強大的信息檢索服務;電商可根據消費人群的不同需求,將營銷目標針對某個具體的領域,更加細化服務領域。

市場諮詢行業

市場調研是研究市場和把握顧客真實需求的重要手段。這是一個真實案例,廣州某市場諮詢企業成立於 1996 年。經過十多年的發展,走出了一條專業化、精細化、行業化的發展道路,服務範圍涉及市場研究、服務提升諮詢、數據挖掘管理三個方面。公司 2015 年引入採集系統。到16年 3 月止,達到日均獲取 2000W+海量數據的能力,支撐公司所有業務運營的數據需求。公司通過採集系統從特定用戶聚集站點獲取用戶真實的行為數據,從多個數據源站點獲取定量、定性的結構化市場數據,建立分析模型,對海量數據進行統計分析,進而得出全面的市場分析報告。

當然,這些一般來說都是稍微大一點的應用場景,其他的應用場景也很多,有些甚至你都想不到,有人採集了所有的足球比賽的博彩數據,然後用來發現其中的規律,提高賭球的概率,當然你肯定聽過美國總統大選,國外有個著名的平台專門做空各大上市公司,他們採集的淘寶的雙11的數據,然後發現淘寶公布的數據有水分,就在股票市場做空阿里巴巴的股票,這個就很厲害了。如果我告訴你還有人採集齒輪,螺絲的圖片,能做什麼呢,原來他們用來印刷機械零部件手冊。爬蟲是個很古老的產業,數據也是個很古老的產業,在現在的大數據背景下,爬蟲得到了更廣泛的使用,數據爆炸的時代,從海量數據中獲取有用信息是個非常重要的工作,這個工作恰好就是爬蟲的專長,如果你有很多數據,不知道有什麼用,甚至可以放到數據交易平台賺錢。

就先說這麼多吧,估計一個一個列舉,是沒完沒了的。歡迎大家與我交流探討爬蟲和數據的更多用途。



目前在爬煎蛋無聊圖。

不過煎蛋sein大大比較抵制爬蟲,曾發圖抨擊過爬蟲佔用帶寬,所以我的爬蟲採用的是模仿正常人瀏覽網頁的形式,加了個圖形化界面,等頁面圖片全部load完成後再抓下一頁,同時每爬10個頁面就隨機點擊幾個頁面廣告,雖然這樣爬數據效率很低就是了…

爬到數據後,可以按照點贊數和點贊率來下載比較有意思的圖片,無聊的時候看看也能樂很久,而且從此化身斗圖小能手~


下載了91全站視頻


打個比方,這個爬蟲抓電影,情感分析,分析好評,惡評,票房,得出最值得看的電影。然後,帶上女票看電影去吧。 哦,你沒有女票啊,那爬蟲就沒什麼用了。快去找個女票吧。


做了一點兒惠民的工作。

寫了個一鍵評教的腳本。

只面對西電學子。

https://github.com/broholens/AUTO_XDU_EAS


賺錢!

http://www.zhihu.com/question/27621722/answer/146554052


滿足某種慾望。利用爬蟲技術能做到哪些很酷很有趣很有用的事情? - 孤月盈木的回答 - 知乎


爬某籃球網站上各個球隊分區的女球迷數量,看看哪家的女球迷最多;前段時間看一哥們爬某籃球網站的數據來論證李寧是否請了水軍


還可以下妹子圖呀。


推薦閱讀:

如何能找到失散多年的朋友?
如何判斷瀏覽器post的是form data還是json data?
一個關於python3 requests庫使用代理訪問IP查詢網站的問題?
同一域名下同一性質部分網頁無法爬蟲,請問是什麼原因造成的,應該如何處理?
關於python返回裝飾後函數的結果?

TAG:Python | Java | 計算機網路 | 爬蟲計算機網路 |