題主會計學二專畢業設計論文DDL在即,做的是分析食品企業會計資訊與股價的實證課題,目前需要從新浪財經上收集100家食品企業近五年的財報,如果手動收集的話是根據證監會2014年4季度上市公司行業分類結果
上的上市公司股票代號輸到股票首頁_新浪財經
的搜尋方塊,然後再從所選公司的網頁(如康達爾(000048)股票股價,行情,新聞,財報資料
)上點選“公司年報”,下載近五年的年報資料。
所選企業是2014年4季度上市公司行業分類結果
上所有13、14、15大類,有100多家,全部手動收集的話工作量略大,想問下有沒有辦法用Python寫一個指令碼完成以上工作?(大學修過一門用python講的計算思維,算是有一點點python基礎吧)
感激不盡~
回複內容:
嗨~我來答題了~
雖然題主已經搞定了問題……
提問後一周已經搞定了,用了excel power query+yahoo finance api 等這周忙完畢業設計回來更新問題…還是非常感謝~!
就當練手了~問題的解決辦法有很多。利用現有的api挺方便。不過我還是按照題主原來的思路笨辦法寫寫試試。
老規矩邊做邊調邊寫~
#新手 很笨 大神求不噴 新手多交流
#start coding
第一步自然是搜集股票代號…用線上的PDF2DOC網站,然後把13、14、15三類的股票代號複製粘貼到一個文字文件裡。像這樣…
然後我們需要讓Python按行讀入文字文件裡的內容並存入一個列表。很簡單。然後我們需要讓Python按行讀入文字文件裡的內容並存入一個列表。很簡單。
f=open('stock_num.txt')stock = []for line in f.readlines(): #print(line,end = '') line = line.replace('\n','') stock.append(line)f.close()print(stock)
用selenium模組可以寫程式類比手動點擊按鈕的整個過程。
感覺就像寫按鍵精靈一樣。
就醬。scrapy配合chrome或者firefox分分鐘的事
推薦使用東方財富網抓資料,因為可以直接儲存為excel文檔,後期處理也相對方便,思路如下:
1.先得到需要的上市公司的股票代號和名字。這一步可以參考 @段曉晨的答案!
2.分析下載連結地址。以康達爾為例,年報地址http://soft-f9.eastmoney.com/soft/gp14.php?code=00004802
,下載連結eastmoney.com 的頁面
,連結末尾的8個數字前6個是股票代號,後兩位01代表上交所上市公司(股票代號60開頭)、02代表深交所上市公司。 讓後就可以用一個迴圈來下載所有的資料!
3.把下載下來的xml檔案轉化成xls檔案,代碼如下:
1). xml可能的中文編碼錯誤處理
def xml_Error_C(filename): fp_xml=open(filename) fp_x=''#中文亂碼改正 for i in range(os.path.getsize(filename)): i+=1 a=fp_xml.read(1) if a=='&': fp_xml.seek(-1,1) if fp_xml.read(6)==' ': i+=5 continue else: fp_xml.seek(-5,1) fp_x+=a fp_xml=open(filename,'w+') fp_xml.write(fp_x) fp_xml.flush() fp_xml.close()
用神箭手雲爬蟲吧,完全在雲端進行。編寫快速,而且內建資料匯出發布和組建圖表進行資料分析,大資料時代的利器啊( ̄▽ ̄)"用tushare,http://tushare.waditu.com
用scrapy寫一個爬蟲,爬資源嗖嗖的快!如果是想要下載“年報資料”而不是“年報”的話,用wind的excel外掛程式拉一下函數就行,想要什麼就有什麼…樓主念會計專業,說明學校肯定有商學院,有商學院就肯定有wind終端…去學院機房半個小時搞定…