超簡單用python抓取每月營收 - FinLab
文章推薦指數: 80 %
今天承接上次的超簡單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加密貨幣實戰課程
延伸文章資訊
- 1每月營收下載在PTT/Dcard完整相關資訊
互動(6486) 每月營收財報分析- HiStock嗨投資理財社群互動(6486) 月營收報表, IFRSs, 個別營收, 合併營收, 營業收入, 累計營業收入,當月營收, 上月比較增減, 去年...
- 2公司基本資料及每月營收資訊> 投資人專區
註:連結至公開資訊觀測站,輸入本公司股票代號:3052,即可查詢。 ◤ 每月營收資訊. 年度, 檔案下載. 111及110, 下載. 110及109 ...
- 3每月營收下載在PTT/Dcard完整相關資訊 - 數位感
合併營收- 公開資訊觀測站- 台灣證券交易所沒有這個頁面的資訊。 · 瞭解原因上市公司月報- 台灣證券交易所當月份大盤、各產業類股及各上市股票的月底本益比、殖利率及股價 ...
- 4上市公司每月營業收入彙總表 - 政府資料開放平臺
您好: 上櫃公司每月營業收入彙總表開放資料集請由下列網址下載,可使用excel開啟,且格式與上市公司相同: https://data.gov.tw/dataset/56510 感謝您留言指教證券...
- 5每月營收 - 公開資訊觀測站(mops.twse.com.tw) - 台灣證券交易所