[分享] Python練習-取得股票資訊

看板Python作者 (不廢江河萬古流)時間16年前 (2009/04/24 22:53), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/3 (看更多)
""" 最近的練習,發現python真的滿好用的 改變stock_ids的內容就可以增減想看的股票 一部分的code也是參考某位鄉民的,感謝 如果有人願意提供什麼想法的話,非常感謝 """ import httplib import urllib2 import re def debug_print( s, msg = None ): #print "[DEBUG]", msg, s pass httplib.HTTPConnection.debuglevel = 1 stock_ids = ( 2324, 8078, 2311, 2330, 2891, 8926 ) opener = urllib2.build_opener() opener.addheaders = [('User-agent', 'Mozilla/5.0')] # For finding stock price iRE_price = re.compile( r".*nowrap><b>([\d.]+)<.*", \ re.I | re.U | re.M | re.S ) # For finding stock name # pattern: >2330台積電</a><br><a href="/pf/pfsel?stocklist= e = ".*>\d+" + r'(.+)</a><br><a href="/pf/pfsel\?stocklist=.*' debug_print( e, "for name" ) iRE_name = re.compile( e, re.I | re.U | re.M | re.S ) for stock_id in stock_ids: # Get web page content content = opener.open( 'http://tw.stock.yahoo.com/q/q?s=' + \ str( stock_id ) ).read() # Print the whole content for debugging #print content stock_price = iRE_price.match( content ).groups()[ 0 ] stock_name = unicode( iRE_name.match( content ).groups()[ 0 ], "BIG5" ) # Print result print "%d\t%s\t%.2f" % ( int( stock_id ), stock_name, \ float( stock_price ) ) raw_input( "Press any key..." ) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.51.206

04/25 11:24, , 1F
感謝分享~~
04/25 11:24, 1F

05/06 18:37, , 2F
輸出結果那stock_name改成stock_name.encode('utf-8')
05/06 18:37, 2F

05/06 18:38, , 3F
我這樣才能看。XD。謝謝分享
05/06 18:38, 3F

05/07 11:35, , 4F
有人試過用Google Fiance拿資料的嗎.XD?
05/07 11:35, 4F

05/07 12:50, , 5F
最近在想即時盤的資訊能不能透過DDE去拿...XD
05/07 12:50, 5F
文章代碼(AID): #19yTA6-B (Python)
文章代碼(AID): #19yTA6-B (Python)