Необходимо сэмулировать работу яваскрипт - тобишь отправить серверу такой запрос, который ему отправляется яваскриптом, например полный запрос с заголовками:
GET http://195.128.78.52/GAZP_110919_110919.txt?d=d&market=1&em=16842&df=19&mf=8&yf=2011&dt=19&mt=8&yt=2011&p=7&f=GAZP_110919_110919&e=.txt&cn=GAZP&dtf=1&tmf=1&MSOR=0&sep=1&sep2=1&datf=2&at=1 HTTP/1.0
User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51 Paros/3.2.13
Host: 195.128.78.52
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Proxy-Connection: Keep-Alive
Content-length: 0
Вот например вот так:
#-*-encoding:UTF-8-*-
import urllib
import urllib2
url="http://195.128.78.52/export9.out"
data={
"d":"d",
"market":1, #Секция рынка
"em":16842, #Контракт
"df":19, #Число с...
"mf":8, #Месяц с...
"yf":2011, #Год с...
"dt":19, #Число до...
"mt":8, #Месяц до...
"yt":2011, #Год до...
"p":7, #Периодичность
"f":"GAZP_110919_110919", #Имя выходного файла
"e":".txt", #Расширение выходного файла
"cn":"GAZP", #Имя контракта
"dtf":1, #Формат даты
"tmf":1, #Формат времени
"MSOR":0, #Выдавать время
"sep":1, #Разделитель полей
"sep2":1, #Разделитель разрядов
"datf":2, #Формат записи в файл
"at":1, #Добавить заголовок файла
}
url_values = urllib.urlencode(data)
page=urllib2.urlopen(url, url_values).read()
print page
И никаких глупых просьб о включении яваскрипта в браузере…
P.S. Имена ключей в data
возможно не все расшифрованы верно…
P.P.S. Python 2.6