页面抓取以从Google Finance获取价格
|
我正在尝试通过抓取Google财务页面来获取股价,我正在python中使用urllib软件包,然后使用正则表达式来获取价格数据。
当我让python脚本运行时,它最初会工作一段时间(几分钟),然后开始引发异常[HTTP错误503:服务不可用]
我猜这是因为在Web服务器端它会检测到频繁的页面更新(例如漫游器),并在一段时间后引发此异常。
有没有解决的办法,即删除一些cookie或创建一些cookie等。
甚至如果Google提供了一些api甚至更好,我想在python中做到这一点,因为在python中有完整的应用程序,但是如果python中没有可用的应用程序,我可以考虑使用其他方法。这是我在循环中使用的python方法来获取数据(经过几秒钟的睡眠,我在循环中将此方法称为)
def getPriceFromGOOGLE(self, symbol):
\"\"\"
gets last traded price from google for given security
\"\"\"
toReturn = 0.0
try:
base_url = \'http://google.com/finance?q=\'
req = urllib2.Request(base_url + symbol)
content = urllib2.urlopen(req).read()
namestr = \'name:\\\"\' + symbol + \'\\\",cp:(.*),p:(.*),cid(.*)}\'
m = re.search(namestr, content)
if m:
data = str(m.group(2).strip().strip(\'\"\'))
price = data.replace(\',\',\'\')
toReturn = float(price)
else:
print \'ERROR \' + str(symbol) + \' --- \' + str(content)
except Exception, exc:
print \'Exc: \' + str(exc)
finally:
return toReturn
没有找到相关结果
已邀请:
4 个回复
氏脑
怪酞撩匹
博沮富教全
揽芳僵迷仇
获取2012年3月3日至2012年3月5日的Yahoo历史报价。