爬取東方財(cái)富網(wǎng)數(shù)據(jù)的網(wǎng)頁分析

自學(xué)Python已有3個(gè)月之多,瀏覽無數(shù)大神的佳作,收獲頗豐。當(dāng)初自學(xué)python就是為了學(xué)習(xí)爬蟲,爬取網(wǎng)站上好看妹子的圖片……[流口水][流口水]

言歸正傳,近期學(xué)習(xí)量化交易知識(shí),發(fā)現(xiàn)東方財(cái)富網(wǎng)(eastmoney.com)提供的特色數(shù)據(jù)相當(dāng)不錯(cuò),在投資組合頁面,看看周冠軍,月冠軍等排行榜上那誘人的紅色數(shù)字,那要是我的操作該有多好啊。


東方財(cái)富網(wǎng)投資組合首頁

后來一想,我可以把每周的排行榜爬取下來,選出比較厲害的人,跟蹤學(xué)習(xí)別人的操作,那我是不是也可以在A股中分一杯羹呢?想想就誘人……


月度高手排行榜

說干就干,先分析下網(wǎng)頁,點(diǎn)開月度高手頁面,來到投資組合排行榜。在chorme瀏覽器中打開網(wǎng)頁調(diào)試工具(按F12即可),重新加載頁面,看到如下圖所示


月度高手排行榜分析頁面

在調(diào)試工具中,選擇JS,可以看到網(wǎng)頁加載過程中的各種數(shù)據(jù)。每個(gè)頁面點(diǎn)開,也沒發(fā)現(xiàn)什么有價(jià)值的信息。最后在Private_Rank_Sort.js的頁面中發(fā)現(xiàn)url信息的蛛絲馬跡,如上圖紅方框和紅色箭頭所指部分。這個(gè)url是不是我要找的排行榜的頁面呢?于是保存Private_Rank_Sort.js頁面,查看JS代碼。


URL信息的組合

查看js代碼,發(fā)現(xiàn)GetDat函數(shù)中的這個(gè)URL是由幾部分組成,中間有兩個(gè)變量type和callbackName。分析上下文可以看出callbackName是由字符串“CallBack”+type+8位隨機(jī)數(shù)組成。那type變量的結(jié)構(gòu)就是關(guān)鍵了,找到了type,整個(gè)URL的信息就能拼湊出來。繼續(xù)在該文件中查找,在尾部發(fā)現(xiàn)這么一句:

var type=$(this).attr("sortvalue")

再后面是調(diào)用GetDat(type)函數(shù)


JS代碼分析type

總算是找到type的出處了,那他的具體賦值呢。于是又開始搜索網(wǎng)頁,最后再網(wǎng)頁源碼中找到了“sortvalue”屬性的數(shù)據(jù)。如下圖


網(wǎng)頁源碼

原來type=8101、8102、8104、8105、8106、8107分別代表不同的意思(怎么沒有8103呢,我也不知道,不管它了,繼續(xù)正題……)

取type一個(gè)值 8102 日收益吧,把URL拼湊出來


URL完整信息

把拼湊號(hào)的url地址復(fù)制到瀏覽器地址欄,回車。見證奇跡的時(shí)刻到了……


網(wǎng)站返回結(jié)果

一個(gè)Json結(jié)構(gòu)的數(shù)據(jù),拿來和網(wǎng)頁對(duì)比一下,很容易猜出字典中Key的含義。

至此萬里長(zhǎng)征的第一步總算走完了,后面就可以用python中requests模塊Get數(shù)據(jù)了。

總結(jié):

1、分析網(wǎng)頁最重要的是要先找到url地址。之后再去弄懂各個(gè)參數(shù)的具體含義,擴(kuò)展獲取更多的數(shù)據(jù)。

2、分析過程中要細(xì)心,有耐心,多用 查找 功能。找不到了再到網(wǎng)頁源碼中看看,說不定會(huì)有意想不到的收獲。

3、異步加載數(shù)據(jù)的網(wǎng)頁,一般在JS或XHR中取找url

4、善用web瀏覽器中的工具插件,我用的chrome瀏覽器,它的網(wǎng)頁調(diào)試工具很好用,還有很多擴(kuò)展插件,比如JSON-handle把json數(shù)據(jù)理清層次結(jié)構(gòu),CrapApi方便GET、POST各種帶參數(shù)的url地址,即時(shí)查看返回?cái)?shù)據(jù),分析參數(shù)的作用

最后再說一下,我把爬取下來的排行榜數(shù)據(jù)進(jìn)行篩選,選出幾個(gè)活躍度高,周月年收益較高的,實(shí)時(shí)跟蹤其調(diào)倉(cāng)動(dòng)作,跟買跟賣,收益還可以的,不得不佩服高手就是高手。哈哈

上張運(yùn)行界面圖


跟蹤程序運(yùn)行界面
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容