2009-11-20 2 views
0

Я пытаюсь сохранить обновленный Forex тикер данные с этого сайта: http://forex.offers4u.biz/TickDBReadDB.php?p=EURUSDPython не будет обновить URL, чтобы получить данные тикер новый форекс

просто нажать кнопку Обновить, чтобы обновить линеечку.

Когда я использую свой маленький скрипт python, он сохраняет текст один раз, но если я запустил его снова, он создаст новый файл с теми же старыми данными. Как добавить кэш-память, чтобы python мог читать новые данные со старого URL-адреса?

import urllib2, time 

filename = 'EURUSD ' + str(time.asctime()) + '.txt' 

myfile = open(filename, 'w') 

page = urllib2.urlopen("http://forex.offers4u.biz/TickDBReadDB.php?p=EURUSD?") 

for line in page: 
    myfile.write(line) 

myfile.close() 
page.close() 
+0

Я запустил этот скрипт и прочитал выходной файл с сообщением об ошибке - «mysql_numrows(): поставленный аргумент не является допустимым результатом MySQL». –

+0

Веб-страница на данный момент не меняется ... предположительно, потому что рынок закрыт. Это проблема, или мы должны повторить попытку, когда рынок снова откроется завтра? –

ответ

0

Урлиб2 не выполняет никакого кэширования. Вы проходите через прокси? Или сервер может кэшировать.

Попробуйте использовать Cache-Control заголовка, описанный here, раздел 14,9

EDIT: Имейте в виду, самые последние данные на этой странице от 2009.11.16 20:47:37. Вы уверены, что он все еще активно обновляется?

+0

Вы имеете право на данные на этой веб-странице - это не активно обновляется прямо сейчас! Я связался с администратором об этом, как только он сработает. Я посмотрю, сохраняется ли моя проблема. Спасибо за помощь, тем временем! – 2009-11-20 02:18:42

+0

Я посмотрел раздел управления кешем, который вы мне связали. похоже, что будут работать директивы «no-cache» или «no store». Это HTTP-команды, верно? как я могу использовать их с python? должен ли я анализировать URL-адрес и вставлять директиву «no-cache» там где-нибудь? извините за то, что так невежественны. – 2009-11-20 05:09:07

+0

Взгляните на http://docs.python.org/library/urllib2.html. В последнем примере в нижней части страницы показан пример с заголовком запроса. Вам нужно будет выполнить 'req.add_header ('Cache-Control', 'no-cache')' или подобное. –