Я пытаюсь получить цены на акции, очищая страницы финансов Google, я делаю это на питоне, используя пакет urllib, а затем использую регулярное выражение для получения данных о ценах.
Когда я оставляю свой скрипт Python запущенным, он сначала работает некоторое время (несколько минут), а затем начинает выдавать исключение [Ошибка HTTP 503: Служба недоступна]
Я предполагаю, что это происходит потому, что на стороне веб-сервера он обнаруживает частые обновления страниц как робот и через некоторое время выдает это исключение.
есть ли способ обойти это, т.е. удалить какой-либо файл cookie или создать какой-либо файл cookie и т. д..
или даже лучше, если Google дает какой-то API, я хочу сделать это на питоне, потому что полное приложение на питоне, но если в питоне нет ничего для этого, я могу рассмотреть альтернативы. Это мой метод 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