看板 Python 關於我們 聯絡資訊
""" 最近的練習,發現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
oracle905:感謝分享~~ 04/25 11:24
dadama1114:輸出結果那stock_name改成stock_name.encode('utf-8') 05/06 18:37
dadama1114:我這樣才能看。XD。謝謝分享 05/06 18:38
iincho:有人試過用Google Fiance拿資料的嗎.XD? 05/07 11:35
iincho:最近在想即時盤的資訊能不能透過DDE去拿...XD 05/07 12:50