超簡單用python抓取每月營收 - FinLab

文章推薦指數: 80 %
投票人數:10人

今天承接上次的超簡單python系列,教大家如何得到每家企業每個月的營收。

這個系列的最終目的就是讓大家可以創造自己的投資自動化程式,甚至擁有自己的看盤軟體。

Skiptocontent Tags:PYTHON,月營收,爬蟲,程式交易 今天承接上次的超簡單python系列,教大家如何得到每家企業每個月的營收。

這個系列的最終目的就是讓大家可以創造自己的投資自動化程式,甚至擁有自己的看盤軟體。

真的不要把程式交易想像的很難,感覺爬2000多支股票,並整理資料,好像是一件很累很痛苦的是情,但真的只需要30行,你可能會覺得這些代碼真的太短了,但真的就是這麼短,然而這必須建立在python或是R,這些package豐富的腳本語言才有可能辦到,這兩個語言都不錯,但我比較喜歡寫python就是了XD,因為python還可以做很多酷炫的事情,例如寫server,或是一些自動化工具,然而R好像沒有這麼多功能? 那我們就來爬取吧!首先先決定要爬哪個網頁,我選擇的是TWSE官方網頁它的網址是http://mops.twse.com.tw/nas/t21/sii/t21sc03_103_2_0.html 各位有看到103這個數字嗎?其實這個就是年份,而緊接在後面的“2”就是月份,所以只要改動這兩個值,我們就可以下載不同年月的歷史資訊: 月爬蟲 importpandasaspd importrequests fromioimportStringIO importtime defmonthly_report(year,month): #假如是西元,轉成民國 ifyear>1990: year-=1911 url='https://mops.twse.com.tw/nas/t21/sii/t21sc03_'+str(year)+'_'+str(month)+'_0.html' ifyear<=98: url='https://mops.twse.com.tw/nas/t21/sii/t21sc03_'+str(year)+'_'+str(month)+'.html' #偽瀏覽器 headers={'User-Agent':'Mozilla/5.0(Macintosh;IntelMacOSX10_10_1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/39.0.2171.95Safari/537.36'} #下載該年月的網站,並用pandas轉換成dataframe r=requests.get(url,headers=headers) r.encoding='big5' dfs=pd.read_html(StringIO(r.text),encoding='big-5') df=pd.concat([dffordfindfsifdf.shape[1]<=11anddf.shape[1]>5]) if'levels'indir(df.columns): df.columns=df.columns.get_level_values(1) else: df=df[list(range(0,10))] column_index=df.index[(df[0]=='公司代號')][0] df.columns=df.iloc[column_index] df['當月營收']=pd.to_numeric(df['當月營收'],'coerce') df=df[~df['當月營收'].isnull()] df=df[df['公司代號']!='合計'] #偽停頓 time.sleep(5) returndf 以上這段程式碼就是一個function可以在其它地方隨時呼叫,code真的超短,但這樣就夠了! 接下來我們隨意讀取任意年月份(可以用民國或是西元都支援): 月爬蟲 #民國100年1月 monthly_report(100,1) #西元2011年1月 monthly_report(2011,1) 就會跑出以下的表格: 其實寫程式真的好簡單XDD,坊間財經軟體都好貴,不就是幾行code而已,是不是!目前已經交完日、月的資料爬取了,下一次就是一季囉! 當然還有各式各樣可以爬的東西,有時間再跟大家介紹~ 覺得我們的文章有幫助到您,就把它分享給身邊的人吧! Sharethiscontent Opensinanewwindow Opensinanewwindow Opensinanewwindow Opensinanewwindow FinLab-韓承佑 嗨大家好,我是韓承佑,FinLab創辦人,畢業於巴黎薩克雷大學資工博士,目前擔任臺灣量化交易協會學術顧問、台北商業大學創新育成中心創業技術顧問與上市科技公司量化交易顧問。

當初,我喜歡寫程式、無意間因為軟體比賽接觸Fintech,從此開始了財經跟程式的學習之路。

我們成立FinLab量化投資部落格,用自己研發的軟體,對台灣股市做大量快速的實驗。

希望可以在量化投資的路上,當大家的「武器製造商」! YouMightAlsoLike 三種看月營收的進階方法! 2020-07-22 Python新手教學(Part4):台股的好兄弟是?台股相關性研究 2020-07-22 創新高有多高? 2020-07-22 策略最佳化是有效的嗎?(附程式碼) 2020-07-20 如何用machinelearning學習總體經濟? 2020-07-22 Python新手教學(Part0):用Python投資?你想不到的好處! 2020-07-22 用Python投資加密貨幣:用AWSLambda即時更新交易訊號(Part11) 2020-07-20 用數學計算日馳何時崩盤! 2020-07-22 每週收到新知識 只要有新文章,立刻用Email通知你 加入 Emailisrequired. Emailnotvalid. Thanksforyoursubscription. Failedtosubscribe,pleasecontactadmin. 關於網站 FinLab財經實驗室 股票如何選擇?要怎麼學習量化投資?財報、技術指標如何看?FinLab利用股票分析、財經python教學,讓你在在茫茫股海中,找到專屬於自己的投資方法。

Facebook粉絲專頁 FinLabYouTube頻道 Opensinanewtab 近期文章 現金流量表超簡單策略開發 2022-04-12/ 0Comments 護國神山抄底策略 2022-03-09/ 0Comments 揭開策略的波動面紗|MAE&MFE分析圖組使用指南 2022-02-19/ 0Comments 文章分類 AI看股票(16) FinLabYouTube(4) Python新手教學(18) PYTHON財經(12) Uncategorized(4) 加密貨幣(18) 基本面分析(20) 大盤漲跌(10) 實價登入(3) 技術面(16) 投資新手(4) 生產力(8) 籌碼面(5) 股票策略(22) 財報狗分析(5) 財經PYTHON教學(46) 選股策略(27) 量子電腦(1) Python理財入門課程Python理財進階課程Python加密貨幣實戰課程



請為這篇文章評分?