From: Mun-Kyo S. <mu...@us...> - 2005-03-08 02:51:16
|
munggo 05/03/07 18:51:08 Modified: YahooStock handler.py Log: ¿ì·®ÁÖ ÁֽĶ§¹®¿¡ »ý±â´Â ¹®Á¦ ÇØ°á. Revision Changes Path 1.2 +26 -21 plugins/YahooStock/handler.py Index: handler.py =================================================================== RCS file: /cvsroot/sugarcube/plugins/YahooStock/handler.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- handler.py 7 Mar 2005 13:55:43 -0000 1.1 +++ handler.py 8 Mar 2005 02:51:08 -0000 1.2 @@ -3,23 +3,13 @@ # SugarCube Yahoo Stock Plugin # # Author : Mun-Kyo Seo <mu...@gm...> -# Date : $Date: 2005/03/07 13:55:43 $ +# Date : $Date: 2005/03/08 02:51:08 $ # Created : 07 Mar 2005 # -# $Id: handler.py,v 1.1 2005/03/07 13:55:43 munggo Exp $ +# $Id: handler.py,v 1.2 2005/03/08 02:51:08 munggo Exp $ import urllib, re -""" -http://kr.quote.yahoo.com/st_search.html?search= -http://kr.quote.yahoo.com/st01.html?code=008060 -http://kr.quote.yahoo.com/stsise_top.html?code=008060 - -GET /st_search.html?search=%B4%EB%B4%F6%C0%FC%C0%DA -Host: kr.quote.yahoo.com -""" - - def stripTag(str): untag = re.compile('<[^>]*>') str = untag.sub('', str) @@ -49,16 +39,31 @@ return result -def nameSch(name): - name = urllib.quote(name) - y = urllib.urlopen("http://kr.quote.yahoo.com/st_search.html?search=%s" % name).read() - data = y.replace("\n", "") - r = data.replace("\r", "") - - r = re.compile("code=\d+").findall(y)[0] - r = re.compile("\d+").findall(r)[0] +def nameSch(oname): + name = urllib.quote(oname) + body = urllib.urlopen("http://kr.quote.yahoo.com/st_search.html?search=%s" % name).read() + r = body.split('\n')[0] + m = re.compile("code=\d+").findall(r) + + if len(m): + r = m[0] + code = re.compile("\d+").findall(r)[0] + else: + data = body.replace("\n", "") + data = data.replace("\r", "") + data = re.compile("st01\.html\?code=\d+\"><b>[^<]*</b>").findall(data) + + code = 'errorcode' + for v in data: + item = re.compile("\s").sub('', v) + item = stripTag(re.compile("<b>[^<]+").findall(item)[0]) + name = re.compile("[^(]+").findall(item)[0] + get_code = re.compile("\d+").findall(item)[0] + if name == oname: + code = get_code + break - return codeSch(r) + return codeSch(code) def stockcmd(ev): |