999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python的互聯(lián)網(wǎng)金融數(shù)據(jù)采集

2017-05-12 17:24:50王蕾
合作經(jīng)濟(jì)與科技 2017年9期
關(guān)鍵詞:數(shù)據(jù)采集互聯(lián)網(wǎng)金融

王蕾

[提要] 互聯(lián)網(wǎng)金融數(shù)據(jù)中潛藏著未知的知識(shí)價(jià)值,但也存在著巨量的數(shù)據(jù)冗余。通過(guò)Python可以進(jìn)行互聯(lián)網(wǎng)金融數(shù)據(jù)的獲取、解析、提取關(guān)鍵信息并進(jìn)行存儲(chǔ),其方式方法是靈活多樣的,可采用的開(kāi)源庫(kù)也比較多。獲取數(shù)據(jù)時(shí)要遵守法律和道德規(guī)范,使用Python時(shí)可以依據(jù)實(shí)際的研究?jī)?nèi)容來(lái)決定需要采集的數(shù)據(jù)。Python是互聯(lián)網(wǎng)數(shù)據(jù)的獲取工具,也是進(jìn)行互聯(lián)網(wǎng)金融數(shù)據(jù)分析的基石。

關(guān)鍵詞:Python;互聯(lián)網(wǎng)金融;數(shù)據(jù)采集;數(shù)據(jù)解析

成果來(lái)源:河北省教育廳課題(QN2015151);保定市科技局課題(16ZF180);河北省智慧金融應(yīng)用技術(shù)研發(fā)中心課題(XZJ2017003);河北省科技廳軟科學(xué)研究計(jì)劃項(xiàng)目(17450903D)

中圖分類號(hào):F83 文獻(xiàn)標(biāo)識(shí)碼:A

收錄日期:2017年3月17日

伴隨著互聯(lián)網(wǎng)的發(fā)展與移動(dòng)應(yīng)用的普及,互聯(lián)網(wǎng)金融得到了長(zhǎng)足的發(fā)展,伴隨而來(lái)的是規(guī)模巨大的數(shù)據(jù),金融從業(yè)者要通過(guò)數(shù)據(jù)挖掘、大數(shù)據(jù)分析獲取有價(jià)值的信息,完成精準(zhǔn)營(yíng)銷,進(jìn)而降低營(yíng)銷成本,提高業(yè)績(jī)。這時(shí),一項(xiàng)重要的前置工作就是數(shù)據(jù)的采集,以便于后續(xù)的數(shù)據(jù)分析,尤其是實(shí)時(shí)數(shù)據(jù)分析。

一、互聯(lián)網(wǎng)金融數(shù)據(jù)來(lái)源

要進(jìn)行金融大數(shù)據(jù)分析,其數(shù)據(jù)來(lái)源可劃分為內(nèi)部數(shù)據(jù)來(lái)源和外部數(shù)據(jù)來(lái)源兩種。內(nèi)部數(shù)據(jù)來(lái)源是互聯(lián)網(wǎng)金融企業(yè)內(nèi)部數(shù)據(jù)庫(kù),較易得到,但是數(shù)據(jù)庫(kù)中的數(shù)據(jù)往往不能直接用于分析,需要進(jìn)行數(shù)據(jù)整合、清洗和轉(zhuǎn)換等才能被使用。分析企業(yè)內(nèi)部數(shù)據(jù)可以較好地對(duì)客戶進(jìn)行細(xì)分、了解金融產(chǎn)品組合特點(diǎn),預(yù)測(cè)金融產(chǎn)品發(fā)展趨勢(shì),輔助進(jìn)行金融決策,但從了解整個(gè)行業(yè)的發(fā)展角度來(lái)講這并不夠,需用到外部金融數(shù)據(jù)。外部金融數(shù)據(jù)的來(lái)源有多種形式:一是通過(guò)與數(shù)據(jù)擁有方簽署合作協(xié)議來(lái)獲取所需金融數(shù)據(jù);二是購(gòu)買金融數(shù)據(jù)庫(kù)等方式來(lái)獲取;三是通過(guò)數(shù)據(jù)采集工具來(lái)自行采集獲取。第三種數(shù)據(jù)采集方式的優(yōu)點(diǎn)是可以私人定制所需數(shù)據(jù),缺點(diǎn)是對(duì)技術(shù)要求較高,同時(shí)不能違反網(wǎng)絡(luò)數(shù)據(jù)采集的法律和相關(guān)道德約束,如應(yīng)當(dāng)遵守Robots Exclusion Protocol,否則可能會(huì)引發(fā)與“酷米客”與“車來(lái)了”之間數(shù)據(jù)糾紛類似的法律事件、產(chǎn)生隱私數(shù)據(jù)泄露、影響服務(wù)器性能等一系列問(wèn)題。

二、互聯(lián)網(wǎng)金融數(shù)據(jù)的分類

在利用數(shù)據(jù)采集工具自行采集互聯(lián)網(wǎng)金融數(shù)據(jù)時(shí)會(huì)遇到多種類別的數(shù)據(jù)。按照行業(yè)領(lǐng)域劃分,包括股票、證券、債券、期貨等理財(cái)數(shù)據(jù),P2P數(shù)據(jù),眾籌數(shù)據(jù),電子商務(wù)數(shù)據(jù),微博、微信、貼吧等社交平臺(tái)互聯(lián)網(wǎng)金融評(píng)論數(shù)據(jù),新聞財(cái)經(jīng)數(shù)據(jù)等。從數(shù)據(jù)自身的結(jié)構(gòu)類型角度進(jìn)行劃分,包括數(shù)字、短文本、長(zhǎng)文本、圖片、音頻、視頻等。日期、價(jià)格、指數(shù)等多為數(shù)字或者短文本,評(píng)論、新聞等多為長(zhǎng)文本,圖片、音頻、視頻等隨著通訊技術(shù)和互聯(lián)網(wǎng)金融的發(fā)展也將成為互聯(lián)網(wǎng)金融數(shù)據(jù)的重要來(lái)源。

三、互聯(lián)網(wǎng)數(shù)據(jù)采集手段

針對(duì)上述外部數(shù)據(jù)采集中的第三種數(shù)據(jù)采集方式,即通過(guò)數(shù)據(jù)采集工具自行采集互聯(lián)網(wǎng)數(shù)據(jù)的手段進(jìn)行探討。互聯(lián)網(wǎng)數(shù)據(jù)的采集可采用網(wǎng)絡(luò)爬蟲(chóng),又稱網(wǎng)頁(yè)蜘蛛或網(wǎng)絡(luò)機(jī)器人,其按照一定的規(guī)則,自動(dòng)地抓取來(lái)自網(wǎng)絡(luò)的程序或腳本。指定URL并不斷從當(dāng)前頁(yè)面上抽取新的URL放入隊(duì)列,直到滿足一定的停止條件。網(wǎng)絡(luò)爬蟲(chóng)在訪問(wèn)一個(gè)超文本鏈接時(shí),可以從HTML標(biāo)簽中自動(dòng)獲取指向其他網(wǎng)頁(yè)的地址信息,其間可依據(jù)關(guān)鍵詞對(duì)所有相關(guān)網(wǎng)頁(yè)信息進(jìn)行存貯、解析和存儲(chǔ)。常用的爬蟲(chóng)策略包括深度優(yōu)先搜索策略、廣度優(yōu)先搜索策略和最佳優(yōu)先搜索策略。頁(yè)面內(nèi)容和鏈接的重要性的不同會(huì)導(dǎo)致鏈接訪問(wèn)順序的不同,其重要性評(píng)價(jià)方式包括基于內(nèi)容評(píng)價(jià)、基于鏈接結(jié)構(gòu)評(píng)價(jià)、基于增強(qiáng)學(xué)習(xí)和基于語(yǔ)境圖的爬行等。

四、基于Python的金融數(shù)據(jù)采集

C++、C#、Java、Python等程序設(shè)計(jì)語(yǔ)言都可以作為網(wǎng)絡(luò)爬蟲(chóng)的開(kāi)發(fā)語(yǔ)言來(lái)進(jìn)行互聯(lián)網(wǎng)金融數(shù)據(jù)的采集。Python作為一種開(kāi)源語(yǔ)言提供了豐富的API和工具,可以使用C語(yǔ)言、C++等來(lái)編寫(xiě)擴(kuò)充模塊,也可以使用第三方庫(kù),具有較高的靈活性,故采用Python來(lái)進(jìn)行互聯(lián)網(wǎng)金融數(shù)據(jù)的采集。在使用Python進(jìn)行數(shù)據(jù)采集時(shí),如果是小規(guī)模數(shù)據(jù)采集,可以使用requests+Beautiful Soup+re的架構(gòu)來(lái)完成,使用requests庫(kù)可以自動(dòng)提交網(wǎng)絡(luò)請(qǐng)求和自動(dòng)爬取HTML頁(yè)面,使用Beautiful Soup庫(kù)和re正則表達(dá)式可解析HTML頁(yè)面和提取頁(yè)面關(guān)鍵信息;如果是較大規(guī)模數(shù)據(jù)的采集則可使用scraper架構(gòu)或者Portia架構(gòu)來(lái)完成。下面進(jìn)行互聯(lián)網(wǎng)金融數(shù)據(jù)采集的實(shí)證分析,針對(duì)淘寶網(wǎng)站的“大碼女裝”銷售情況進(jìn)行分析,需要獲取商品名稱、價(jià)格、銷售量、產(chǎn)地、商家等信息。首先應(yīng)查看其網(wǎng)站根目錄之下的robots.txt文件,以得知該網(wǎng)站通過(guò)爬蟲(chóng)來(lái)獲取數(shù)據(jù)時(shí)有哪些限制。接下來(lái)制定搜索策略,獲取HTML頁(yè)面信息,解析HTML文檔,提取商品名稱、價(jià)格、銷售量等關(guān)鍵信息,最后存儲(chǔ)商品信息。

(一)搜索策略的確定。以某URL為入口,分析最終URL隊(duì)列形成方式以確定搜索策略。分析發(fā)現(xiàn),其檢索結(jié)果被放置于具有頁(yè)碼的多個(gè)頁(yè)面,觀察其URL所具備的特點(diǎn)http://s.taobao.com/search?q=”大碼女裝”&s=頁(yè)碼*每頁(yè)商品顯示數(shù)量,鑒于此可以確定此商品URL隊(duì)列的獲取原則。循環(huán)遍歷次數(shù)為頁(yè)面數(shù)量或自定義數(shù)量,為了不造成對(duì)網(wǎng)站服務(wù)器的負(fù)擔(dān),模擬了人類的訪問(wèn)頻率,每獲取一個(gè)頁(yè)面信息,隨即進(jìn)行解析和存儲(chǔ)并休眠2秒。try-catch處理了異常,提高了程序的健壯性。確定搜索策略后就要遍歷得到頁(yè)面信息。每次遍歷實(shí)現(xiàn)對(duì)單個(gè)HTML頁(yè)面信息的獲取、解析和存儲(chǔ)。頁(yè)面信息的獲取調(diào)用了自定義方法getHTML(),頁(yè)面信息的解析調(diào)用了自定義方法parseHTML()。核心代碼如下所示:

for i in range(頁(yè)面數(shù)量):

time.sleep(2)

try:

url=start_url+str(每頁(yè)商品數(shù)量*i)

html=getHTML(url)

parseHTML(html,goodslist)

saveGoodsList(goodslist,file_path)

except:

continue

(二)獲取HTML頁(yè)面信息。獲取HTML頁(yè)面信息需要獲取HTML頁(yè)面的源代碼,可以調(diào)用requests庫(kù)的get(url)方法,此方法是獲取網(wǎng)頁(yè)的常用方法之一,url作為其參數(shù)指明了要獲取的資源路徑,返回的頁(yè)面信息被存儲(chǔ)為Response對(duì)象中。Response對(duì)象的text即為HTML的頁(yè)面內(nèi)容。requests還包括post()、head()等方法。使用requests.get(url).text可以獲得url地址所對(duì)應(yīng)的HTML文檔內(nèi)容;使用f.write(requests.get(url).content)可以將url所指向資源以二進(jìn)制的形式獲得并保存至本地電腦,該資源可以是文本、圖片、音頻、視頻等。以下為getHTML()方法中部分代碼:

r=requests.get(url,header,timeout=30)

return r.text

(三)解析HTML文檔,提取關(guān)鍵信息。獲取頁(yè)面信息后,就要對(duì)HTML頁(yè)面內(nèi)容進(jìn)行分析以提取關(guān)鍵信息。整個(gè)解析過(guò)程中要對(duì)HTTP協(xié)議及HTML文檔結(jié)構(gòu)有足夠的認(rèn)識(shí)。當(dāng)前要獲取的是商品名稱、價(jià)格、銷售量、產(chǎn)地、商家等信息,分析HTML頁(yè)面源代碼發(fā)現(xiàn)其結(jié)構(gòu)如下:

"raw_title":"2017胖妹妹春裝***韓版寬松"

"view_price":"139.00"

"view_sales":"1245人付款"

"nick":"西加索旗艦店"

"item_loc":"廣東 廣州"

可以使用正則表達(dá)式直接提取,正則表達(dá)式是一個(gè)特殊的字符序列,它能方便地檢查一個(gè)字符串是否與某種模式匹配。re庫(kù)是python的標(biāo)準(zhǔn)庫(kù),主要用于字符串匹配。re的findall()可以實(shí)現(xiàn)在文本中檢索全部能匹配的字符子串,并將檢索結(jié)果以列表類型返回。re還包括search()、match()、split()等方法。通過(guò)salelt=re.findall(r'\"view_sales\"\:\"[\d].*?\"',html)方法可以從html中將所有匹配r'\"view_sales\"\:\"[\d].*?\"'格式的文本檢索出來(lái)并放于salelt當(dāng)中。這時(shí)就形成商品銷售量的列表["view_sales":"40人付款","view_sales":"**人付款","view_sales":"**人付款"……]。其他信息如商品名稱、價(jià)格、產(chǎn)地、商家等獲取方式類似,更改匹配原則即可。

但是,此時(shí)還需要去除無(wú)關(guān)文本,形成每件商品的記錄。當(dāng)前有pricelt、salelt、nicklt、locallt等多個(gè)列表,可以逐個(gè)獲取列表中的信息,形成每件商品信息,然后再將商品信息依次放入商品信息列表goodslist當(dāng)中。sale=eval(salelt[i].split(':')[1]).strip('人付款')實(shí)現(xiàn)了從"view_sales":"**人付款"結(jié)構(gòu)中獲取銷售量,其中salelt[i].split(':')[1]獲取到'**人付款',strip()去除了多余字符串'人付款'。goodslist.append([price,sale,nick,……])實(shí)現(xiàn)了將一件商品信息的價(jià)格、銷售量、商家、產(chǎn)地等多項(xiàng)信息放入goodslist。For循環(huán)中append方法的使用使得所有商品信息依次放入goodslist。核心代碼如下:

for i in range(len(salelt):

try:

price=eval(pricelt[i].split(':')[1])

sale=eval(salelt[i].split(':')[1]).strip('人付款')

……

goodslist.append([price,sale,nick,……)

except:

continue

(四)商品信息的存儲(chǔ)。頁(yè)面解析結(jié)束后就要對(duì)商品信息進(jìn)行存儲(chǔ)以便于進(jìn)一步進(jìn)行數(shù)據(jù)分析。數(shù)據(jù)存儲(chǔ)時(shí)可以依據(jù)數(shù)據(jù)特點(diǎn)將其存儲(chǔ)為CSV、EXCEL、XML等格式化文本,存儲(chǔ)到SQL Server、MySQL、Oracle等關(guān)系型數(shù)據(jù)庫(kù),存儲(chǔ)到MongoDB、Redis等非關(guān)系型數(shù)據(jù)庫(kù),或者進(jìn)行數(shù)據(jù)索引存儲(chǔ)等。此處存儲(chǔ)為CSV格式,它是以純文本形式存儲(chǔ)表格數(shù)據(jù),以逗號(hào)或制表符等為每條記錄字段間的分隔符,所有記錄具有相同的字段序列,具有方便導(dǎo)入Excel或數(shù)據(jù)庫(kù)的特點(diǎn)。以文件續(xù)寫(xiě)的方式打開(kāi)文件,為防止亂碼的出現(xiàn),編碼方式設(shè)置為gb2312,因?yàn)樯唐沸畔⒘斜韌oodslist中每一項(xiàng)仍為列表,故采用f.write(",".join(goods)+"\n")方式進(jìn)行了寫(xiě)入。核心代碼如下:

with open(“D://info.csv“,"a",encoding='gb2312')as f:

for goods in goodslist:

f.write(",".join(goods)+"\n")

(五)采集結(jié)果分析。最終采集數(shù)據(jù)放于info.csv中,如表1所示。采集結(jié)果與原始頁(yè)面進(jìn)行對(duì)比,發(fā)現(xiàn)其具有正確的對(duì)應(yīng)關(guān)系。與使用人工來(lái)獲取信息對(duì)比,使用python來(lái)獲取數(shù)據(jù)具有同等或者說(shuō)更高的準(zhǔn)確性,速度更快,大大節(jié)省了時(shí)間與人力。(表1)

主要參考文獻(xiàn):

[1]劉艷平,俞海英,戎沁.Python模擬登錄網(wǎng)站并抓取網(wǎng)頁(yè)的方法[J].微型電腦應(yīng)用,2015.

[2]齊鵬,李隱峰,宋玉偉.基于Python的Web數(shù)據(jù)采集技術(shù)[J].電子科技,2012.

[3]蘭秋軍.互聯(lián)網(wǎng)金融數(shù)據(jù)抓取方法研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2011.

[4]陳琳.基于Python的新浪微博數(shù)據(jù)爬蟲(chóng)程序設(shè)計(jì)[J].信息系統(tǒng)工程,2016.

猜你喜歡
數(shù)據(jù)采集互聯(lián)網(wǎng)金融
鐵路客流時(shí)空分布研究綜述
基于廣播模式的數(shù)據(jù)實(shí)時(shí)采集與處理系統(tǒng)
軟件工程(2016年8期)2016-10-25 15:54:18
通用Web表單數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
軟件工程(2016年8期)2016-10-25 15:52:53
基于開(kāi)源系統(tǒng)的綜合業(yè)務(wù)數(shù)據(jù)采集系統(tǒng)的開(kāi)發(fā)研究
互聯(lián)網(wǎng)金融的風(fēng)險(xiǎn)分析與管理
互聯(lián)網(wǎng)金融理財(cái)產(chǎn)品分析
互聯(lián)網(wǎng)金融對(duì)傳統(tǒng)金融的影響
主站蜘蛛池模板: 啪啪永久免费av| 日韩美毛片| 精品一区二区三区视频免费观看| 亚洲国产精品成人久久综合影院| 黄色污网站在线观看| 日本高清免费不卡视频| 免费看一级毛片波多结衣| 91欧洲国产日韩在线人成| 超碰91免费人妻| 毛片视频网址| 亚洲精品手机在线| 91系列在线观看| 97视频在线精品国自产拍| 波多野结衣在线一区二区| 久久人人妻人人爽人人卡片av| 国产黄在线免费观看| 日韩欧美国产三级| 97在线视频免费观看| 国产91精品调教在线播放| 72种姿势欧美久久久大黄蕉| 91口爆吞精国产对白第三集 | a级高清毛片| 在线99视频| 伊人久久大香线蕉aⅴ色| av一区二区三区在线观看| 在线免费亚洲无码视频| 国产精品污视频| 2021国产精品自产拍在线| 91久久偷偷做嫩草影院| a毛片基地免费大全| 四虎影视国产精品| 无套av在线| 亚洲久悠悠色悠在线播放| 国产日韩精品欧美一区喷| 中文字幕 欧美日韩| 国产99久久亚洲综合精品西瓜tv| 在线播放国产99re| 99热这里只有精品免费国产| 成人午夜久久| 午夜视频www| 亚洲,国产,日韩,综合一区 | 色九九视频| 国产视频a| 大陆精大陆国产国语精品1024| 久久人妻xunleige无码| 91美女视频在线观看| 亚洲国产欧美目韩成人综合| 日韩乱码免费一区二区三区| 久草视频中文| 奇米影视狠狠精品7777| 91精品伊人久久大香线蕉| 国产精品免费入口视频| 欧美丝袜高跟鞋一区二区| 一级毛片免费高清视频| 亚洲91精品视频| 新SSS无码手机在线观看| 亚洲美女视频一区| 亚洲第七页| 亚洲美女一级毛片| 国产极品粉嫩小泬免费看| 亚洲有无码中文网| 亚洲最大福利网站| 国产午夜福利片在线观看| 伊人激情综合| 久久精品国产免费观看频道| 婷婷五月在线视频| 久无码久无码av无码| 朝桐光一区二区| 99re视频在线| 91视频青青草| 亚洲一级色| 欧洲精品视频在线观看| 在线综合亚洲欧美网站| 小说区 亚洲 自拍 另类| 亚洲人成网线在线播放va| 99热免费在线| 久久免费精品琪琪| 国产真实乱人视频| 99久久精品免费看国产电影| 国产天天色| 国产乱子伦精品视频| 黄色国产在线|