• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于網(wǎng)絡(luò)爬蟲的上市公司交易數(shù)據(jù)共享平臺(tái)設(shè)計(jì)

      2019-11-11 09:17:09王勇
      價(jià)值工程 2019年27期
      關(guān)鍵詞:網(wǎng)絡(luò)爬蟲共享平臺(tái)上市公司

      王勇

      摘要:本文基于網(wǎng)絡(luò)爬蟲原理,結(jié)合文本分析技術(shù),設(shè)計(jì)了一個(gè)上市公司交易數(shù)據(jù)共享平臺(tái)(Sharing Platform for Listed Company Trade Data,SPLCTD)。平臺(tái)能夠自動(dòng)從網(wǎng)絡(luò)獲取A股上市公司的基礎(chǔ)信息、交易數(shù)據(jù)。經(jīng)過規(guī)范化處理,儲(chǔ)存到數(shù)據(jù)庫中后,交易數(shù)據(jù)通過網(wǎng)絡(luò)服務(wù)接口,共享給終端用戶,為量化分析、自動(dòng)化交易、交易策略等相關(guān)研究者提供了便捷的數(shù)據(jù)獲取渠道。

      Abstract: The sharing platform for listed company trade data (SPLCTD) is designed based on web crawler technology. The platform crawl fundamental information and trade data of listed company from internet website automatically. After normalizing, these data is stored in database and shared through web service for the end user on research purpose.

      關(guān)鍵詞:網(wǎng)絡(luò)爬蟲;上市公司;交易數(shù)據(jù);共享平臺(tái)

      Key words: web crawler;listed company;trade data;sharing platform

      中圖分類號(hào):TP391.3 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文章編號(hào):1006-4311(2019)27-0267-03

      0 ?引言

      隨著上市制度的發(fā)展與完善,越來越多的企業(yè)選擇上市融資來擴(kuò)大企業(yè)規(guī)模。而網(wǎng)絡(luò)和計(jì)算機(jī)工具的發(fā)展,使得金融工程、量化分析與自動(dòng)化的程序交易也越來越熱門。相關(guān)從業(yè)者雖然可以從各大門戶網(wǎng)站(如新浪財(cái)經(jīng)、網(wǎng)易財(cái)經(jīng)等)在線瀏覽交易信息,但對(duì)于線下的技術(shù)分析、量化分析、策略研究等方面,在線瀏覽的方式還是有很多不便之處。

      本文基于爬蟲原理[1],設(shè)計(jì)了一個(gè)上市公司交易數(shù)據(jù)共享平臺(tái)(Sharing Platform for Listed Company Trade Data,SPLCTD),它能夠自動(dòng)從網(wǎng)絡(luò)上抓取A股上市公司的基本信息和交易數(shù)據(jù),經(jīng)過規(guī)范化處理儲(chǔ)存到數(shù)據(jù)庫,最后通過網(wǎng)絡(luò)接口,共享給終端用戶使用,為量化分析、自動(dòng)化交易、交易策略研究者提供便捷的數(shù)據(jù)獲取渠道。

      1 ?交易信息平臺(tái)設(shè)計(jì)

      1.1 設(shè)計(jì)目標(biāo)

      基于網(wǎng)絡(luò)爬蟲技術(shù),設(shè)計(jì)上市公司交易信息共享平臺(tái),實(shí)現(xiàn)自動(dòng)獲取上市公司股票交易信息,并通過網(wǎng)絡(luò)接口,將數(shù)據(jù)共享給終端用戶。系統(tǒng)總體結(jié)構(gòu)如圖1。

      1.2 平臺(tái)功能與主要模塊設(shè)計(jì)

      平臺(tái)主要包括以下功能:①自動(dòng)從網(wǎng)絡(luò)獲取所有上市公司的基礎(chǔ)信息和交易數(shù)據(jù);②將數(shù)據(jù)處理成規(guī)范的格式,儲(chǔ)存到數(shù)據(jù)庫中;③通過開放的網(wǎng)絡(luò)服務(wù)接口,將數(shù)據(jù)共享給終端用戶。

      平臺(tái)主要包含了以下模塊:

      ①數(shù)據(jù)獲取模塊,負(fù)責(zé)生成URL地址池,將網(wǎng)絡(luò)信息抓取下來,并將原始信息傳遞給數(shù)據(jù)處理模塊。

      ②數(shù)據(jù)處理模塊,從抓取的原始信息中提取出所需要的數(shù)據(jù),并檢查是否為有效數(shù)據(jù),如果數(shù)據(jù)無效,則由數(shù)據(jù)獲取模塊重新抓取,最后將有效的數(shù)據(jù)傳遞給數(shù)據(jù)存儲(chǔ)模塊。

      ③數(shù)據(jù)儲(chǔ)存模塊,將數(shù)據(jù)處理成符合平臺(tái)規(guī)范的數(shù)據(jù)格式,保存到數(shù)據(jù)庫中。

      ④數(shù)據(jù)共享模塊,對(duì)外部網(wǎng)絡(luò)用戶提供了統(tǒng)一的網(wǎng)絡(luò)服務(wù)接口,共享平臺(tái)中的數(shù)據(jù)。

      由于是開放的信息共享平臺(tái),所以沒有加入用戶管理模塊。平臺(tái)主要功能模塊如圖2所示。

      2 ?關(guān)鍵技術(shù)分析

      需要注意的是,在使用爬蟲抓取信息時(shí),需要遵循通用的爬蟲規(guī)則,首先看網(wǎng)站的robots.txt文件中是否包含了允許抓取的規(guī)則,或者在網(wǎng)頁的信息中是否存在允許抓取的規(guī)則,否則不建議對(duì)該網(wǎng)站的數(shù)據(jù)進(jìn)行抓取。由于網(wǎng)易財(cái)經(jīng)網(wǎng)站(http://money.163.com)的網(wǎng)頁信息中明確包含了可以被爬蟲索引和追蹤鏈接的說明,所以本文的信息抓取分析工作均以網(wǎng)易財(cái)經(jīng)網(wǎng)站為例。

      2.1 數(shù)據(jù)獲取模塊

      數(shù)據(jù)獲取模塊分為兩部分:①任務(wù)生成模塊??梢宰詣?dòng)生成所有的URL,并放入任務(wù)池;②爬蟲模塊。從任務(wù)池獲取URL,然后從網(wǎng)絡(luò)上獲取所需要的交易信息。

      2.1.1 抓取內(nèi)容

      主要抓取了上市公司的基本信息和交易信息,包括以下內(nèi)容:

      ①公司資料。包括公司簡(jiǎn)介、公司高管、所屬行業(yè)、所屬板塊等公司的基本工商信息。

      ②股本股東。包括了股本結(jié)構(gòu)、主要股東、流通股東、基金持股等數(shù)據(jù)。

      ③財(cái)務(wù)數(shù)據(jù)。包括財(cái)務(wù)摘要、財(cái)務(wù)指標(biāo)、資產(chǎn)負(fù)債表、利潤(rùn)表、現(xiàn)金流量表等數(shù)據(jù)。

      ④交易信息。包括收盤價(jià),最高價(jià),最低價(jià),開盤價(jià),前收盤,漲跌額,漲跌幅,換手率,成交量,成交金額,總市值,流通市值??梢宰トv史交易信息和當(dāng)日交易信息。

      當(dāng)公司的基本信息發(fā)生變化時(shí),如股東信息、財(cái)務(wù)數(shù)據(jù)等,爬蟲會(huì)自動(dòng)保存歷史數(shù)據(jù),并將更新后的數(shù)據(jù)抓取下來。

      抓取到的內(nèi)容主要有兩種類型:網(wǎng)頁類型的數(shù)據(jù)和文件類型的數(shù)據(jù)。抓取內(nèi)容①、②③以及④中的當(dāng)日交易信息均為網(wǎng)頁類型的數(shù)據(jù),④中的歷史交易信息為CSV文件類型的數(shù)據(jù)。

      由于網(wǎng)頁信息的分析和抓取工作類似,CSV文件的分析與網(wǎng)頁信息的分析不同,故以下分析以抓取公司內(nèi)容、歷史交易信息兩項(xiàng)內(nèi)容為例。

      2.1.2 抓取URL分析

      ①公司內(nèi)容URL。

      經(jīng)過分析,可知公司資料入口URL為:

      http://quotes.money.163.com/f10/zycwzb_XXXXXX.html

      其中,XXXXXX代表交易代碼,其他為固定內(nèi)容。如果要抓取貴州茅臺(tái)的公司資料信息,則將它替換為600519即可,即最終放入任務(wù)池的URL為:

      http://quotes.money.163.com/f10/zycwzb_600519.html

      ②歷史交易信息URL。

      經(jīng)過分析可知,歷史交易信息的入口URL為:

      http://quotes.money.163.com/service/chddata.html?code=&start=&end=&fields=,地址后有四個(gè)參數(shù),其含義分別為:

      code參數(shù):長(zhǎng)度為7的整數(shù),最左第一位為證券交易所的代碼,上交所為0,深交所為1。后六位是交易代碼;

      start參數(shù):交易的起始日期;

      end參數(shù):交易的終止日期;

      fields參數(shù):需要獲取的交易數(shù)值。多個(gè)參數(shù)之間用英文的分號(hào)分隔。具體參數(shù)值和含義見表1。

      假設(shè)要抓取貴州茅臺(tái)從2017年1月1日到2019年5月1日的所有歷史交易信息,則最終構(gòu)造的URL為:

      http://quotes.money.163.com/service/chddata.html?code=0600519&start=20070101&end=20190501&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP

      2.1.3 任務(wù)生成模塊

      要構(gòu)造所有上市公司的交易信息的URL地址,只需要對(duì)URL中的固定部分和參數(shù)部分進(jìn)行拼接,就可以生成所有抓取地址。不同的抓取內(nèi)容需要拼接不同的參數(shù)。最后將所有構(gòu)造完成的URL放入任務(wù)池。

      由于交易信息的數(shù)據(jù)主要是文本信息,類型比較單一,但是公司數(shù)量較多,可以按照平均分配的原則,每個(gè)爬蟲服務(wù)器獲取同等數(shù)量的抓取任務(wù);或在當(dāng)前的抓取任務(wù)完成后,由爬蟲服務(wù)器自己從任務(wù)池中獲取新的任務(wù)。

      2.1.4 爬蟲模塊

      該模塊將任務(wù)池中的URL作為參數(shù),向服務(wù)器發(fā)送HTTP請(qǐng)求,并判斷返回信息是否有效。在現(xiàn)實(shí)環(huán)境下,網(wǎng)絡(luò)和主機(jī)的性能對(duì)抓取任務(wù)都有影響,所以需要判斷服務(wù)器的響應(yīng)狀態(tài)、返回信息的完整性等。如果服務(wù)器沒有響應(yīng),或返回信息不完整,則需要重新發(fā)送相應(yīng)的請(qǐng)求。如果返回信息有效,則將這些信息傳遞給數(shù)據(jù)處理模塊進(jìn)行進(jìn)一步的處理。同時(shí)由于網(wǎng)站對(duì)爬蟲的使用有限制,可以使用分布式爬蟲來完成抓取任務(wù)[2]。

      2.2 數(shù)據(jù)處理模塊

      負(fù)責(zé)接收爬蟲返回的原始信息,并將其中的有效信息提取出來,最后處理成符合平臺(tái)規(guī)范的數(shù)據(jù)格式。

      2.2.1 網(wǎng)頁信息的處理

      爬蟲獲取的網(wǎng)頁信息是由HTML語言編寫的一種文本文件,它的內(nèi)容是由成對(duì)的格式說明標(biāo)記組成。所以可以使用文本分析工具、或編程語言提供的正則表達(dá)式、第三方的工具庫(如Python語言中的Selenium庫、Scrapy庫等)來進(jìn)行自動(dòng)化處理。

      公司資料信息在HTML信息的

      區(qū)塊段。公司的各項(xiàng)基本屬性,如公司名稱、注冊(cè)資本等信息,則位于區(qū)塊段。區(qū)塊段的文本指定了不同的公司屬性。以貴州茅臺(tái)為例,HTML中的區(qū)塊段為注冊(cè)資本125,620萬元,第一個(gè)區(qū)塊段說明了注冊(cè)資本字段名是“注冊(cè)資本”,第二個(gè)區(qū)塊段說明了字段的值,即注冊(cè)資本為“125,620萬元”。模塊對(duì)所有的區(qū)塊段進(jìn)行遍歷處理,即可得到所有的字段名和對(duì)應(yīng)的值。

      2.2.2 文件信息的處理

      歷史交易信息的抓取結(jié)果為CSV格式的文件。CSV文件是用逗號(hào)分隔的文本文件。同樣可以使用文本分析工具來進(jìn)行處理。

      從網(wǎng)易財(cái)經(jīng)抓取的結(jié)果來看,歷史交易信息的CSV文件格式為:第一行是字段名,分別說明了各列數(shù)據(jù)的含義,有交易日期、開盤價(jià)、最高價(jià)、最低價(jià)、收盤價(jià)、漲跌額、漲跌幅、成交量、成交金額、換手率等信息。從文件的第二行開始,則是實(shí)際的交易數(shù)據(jù)。數(shù)據(jù)按交易日期降序排列。

      另外,在原始的歷史交易信息中,沒有對(duì)應(yīng)的公司交易代碼,所以在最終寫入數(shù)據(jù)庫的時(shí)候,需要把交易代碼與歷史交易信息相關(guān)聯(lián),防止數(shù)據(jù)混亂。

      2.3 數(shù)據(jù)儲(chǔ)存模塊

      數(shù)據(jù)儲(chǔ)存模塊篩選掉重復(fù)的數(shù)據(jù)后,將數(shù)據(jù)整理成符合平臺(tái)要求的格式,儲(chǔ)存到數(shù)據(jù)庫中。若交易數(shù)據(jù)有缺失,則將對(duì)應(yīng)的URL地址重新放入任務(wù)池,由爬蟲服務(wù)器重新獲取,并將事件到后臺(tái)日志,由管理員進(jìn)一步處理。

      2.4 數(shù)據(jù)庫設(shè)計(jì)

      平臺(tái)抓取的信息有公司基本信息、財(cái)務(wù)信息、股本股東變動(dòng)情況和交易信息,其中交易信息分為歷史交易信息和當(dāng)日交易信息。

      所以數(shù)據(jù)庫中的設(shè)計(jì)了5張表,分別儲(chǔ)存以上數(shù)據(jù)。

      2.4.1 基本信息表

      記錄了上市公司的工商注冊(cè)信息。主要字段包括:交易所代碼、公司交易代碼、組織形式、中文簡(jiǎn)稱、辦公地址、公司全稱、公司電話等信息。

      2.4.2 財(cái)務(wù)信息表

      主要記錄了上市公司的主要財(cái)務(wù)信息。主要字段包括:公司交易代碼、收錄日期、基本每股收益、每股凈資產(chǎn)、營(yíng)業(yè)利潤(rùn)、利潤(rùn)總額、凈利潤(rùn)、總資產(chǎn)、流動(dòng)資產(chǎn)、總負(fù)債、流動(dòng)負(fù)債、股東權(quán)益等信息。

      2.4.3 股本股東表

      記錄了股本和股東的變動(dòng)情況。主要字段包括:公司代碼、收錄日期、十大流通股東、持有比例、本期持有股、持股變動(dòng)數(shù)、十大股東、持有比例、本期持有股、持股變動(dòng)數(shù)等信息。

      2.4.4 歷史交易信息表

      主要字段包括:公司代碼、交易日期、開盤價(jià)、最高價(jià)、最低價(jià)、收盤價(jià)、漲跌額、漲跌幅、成交量、成交金額、換手率等信息。

      2.4.5 當(dāng)日交易信息表

      主要字段包括:公司代碼、交易日期、交易時(shí)間、成交價(jià)、價(jià)格變動(dòng)、成交量、成交額、交易性質(zhì)(買盤/賣盤)等信息。

      2.5 數(shù)據(jù)共享模塊

      模塊對(duì)外部網(wǎng)絡(luò)用戶提供了統(tǒng)一的網(wǎng)絡(luò)服務(wù)接口[3],共享平臺(tái)中的數(shù)據(jù)。當(dāng)終端用戶向平臺(tái)請(qǐng)求數(shù)據(jù)時(shí),數(shù)據(jù)共享模塊返回類型可以設(shè)計(jì)成易于程序的處理的數(shù)據(jù)格式,如JSON類型的數(shù)據(jù)。JSON數(shù)據(jù)類型是一對(duì)花括號(hào)括起來的{鍵:值}對(duì)的形式,即{Key:Value}。其中的Key是字段名,Value是字段的值。以貴州茅臺(tái)為例,平臺(tái)對(duì)終端用戶返回的單條數(shù)據(jù)格式為:{“NAME”: “貴州茅臺(tái)”, “CODE”: “600519”, “DATE”: “2019-05-22”, “POPEN”: 894.98, “PHIGH”: 904.00, “PLOW”: 880.00, “PCLOSE”: 888.00, “CHG”: -7.00, “PCHG”: -0.78, “ATURNOVER”: 32042, “VOTURNOVER”: 285387, “TURNOVER”: 0.26}。如果用戶請(qǐng)求了多條數(shù)據(jù),則返回信息由多條JSON數(shù)據(jù)構(gòu)成[4]。

      3 ?總結(jié)與展望

      本文提出了一種基于網(wǎng)絡(luò)爬蟲的數(shù)據(jù)共享平臺(tái)的設(shè)計(jì),主要目標(biāo)是自動(dòng)獲取上市公司的交易數(shù)據(jù),并提供給終端用戶使用。平臺(tái)通過自動(dòng)生成抓取URL,使用爬蟲獲取到原始的HTML信息和CSV文件,并從中提取出需要的信息,按照數(shù)據(jù)平臺(tái)的規(guī)范儲(chǔ)存到數(shù)據(jù)庫中,最后通過網(wǎng)絡(luò)服務(wù)接口,開放給用戶使用。另外,根據(jù)《上市公司信息披露管理辦法》的規(guī)定,上市公司必須定期披露財(cái)報(bào)數(shù)據(jù),還有臨時(shí)發(fā)布的通告信息等。這些信息主要以PDF文件的方式,發(fā)布到中國(guó)證監(jiān)會(huì)指定的上市公司信息披露網(wǎng)站,在未來的工作中,可以對(duì)這些信息進(jìn)行自動(dòng)獲取和分析,進(jìn)一步豐富平臺(tái)的數(shù)據(jù)類型,為使用者提供更大的便利。

      參考文獻(xiàn):

      [1]劉金紅,陸余良.主題網(wǎng)絡(luò)爬蟲研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2007,24(10):26-29.

      [2]許笑,張偉哲,張宏莉,等.廣域網(wǎng)分布式Web爬蟲[J].軟件學(xué)報(bào),2010,21(5):1067-1082.

      [3]陳珊,許林英,袁琳.Web服務(wù)綜述[J].微處理機(jī),2005(02):1-3.

      [4]王祎霂.基于JSON的Web服務(wù)描述框架的設(shè)計(jì)與實(shí)現(xiàn)[D].天津大學(xué),2014.

      猜你喜歡
      網(wǎng)絡(luò)爬蟲共享平臺(tái)上市公司
      煉鐵廠鐵量網(wǎng)頁數(shù)據(jù)獲取系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      中企搭乘“共享平臺(tái)”好出海
      科學(xué)數(shù)據(jù)共享平臺(tái)的建設(shè)與服務(wù)探討
      “微平臺(tái)”在包裝設(shè)計(jì)課程資源共享教學(xué)中的應(yīng)用研究
      上市公司股權(quán)結(jié)構(gòu)對(duì)公司治理的影響
      我國(guó)上市公司現(xiàn)金股利發(fā)放問題及對(duì)策
      行為公司金融理論的現(xiàn)實(shí)意義
      商(2016年27期)2016-10-17 05:56:22
      我國(guó)上市公司財(cái)務(wù)信息披露質(zhì)量研究
      商(2016年27期)2016-10-17 04:03:44
      基于社會(huì)網(wǎng)絡(luò)分析的權(quán)威網(wǎng)頁挖掘研究
      主題搜索引擎中網(wǎng)絡(luò)爬蟲的實(shí)現(xiàn)研究
      临湘市| 镇康县| 邹平县| 红桥区| 丹江口市| 秦安县| 拜泉县| 济源市| 西和县| 长宁县| 大足县| 威海市| 女性| 元氏县| 安陆市| 苏州市| 铁力市| 临颍县| 广东省| 克什克腾旗| 聂拉木县| 大厂| 故城县| 达尔| 洪江市| 株洲市| 凭祥市| 青岛市| 台湾省| 皋兰县| 天等县| 伊春市| 界首市| 化德县| 太保市| 鲁山县| 满洲里市| 张家口市| 涿州市| 镇安县| 湘潭市|