Найти - Пользователи
Полная версия: Скачать страничку от имени браузера
Начало » Web » Скачать страничку от имени браузера
1
PoshtarBoba
О, всё, проблема решена, случайно наткнулся в неожиданном месте на решение:

def dldfile(url,fn):
urllib.FancyURLopener.version="Mozilla/5.0"
try: urlretrieve(url,fn)
except: return 0
else: return 1
Но всё-же, как правильно называется эта строка - “Mozilla/5.0” ? Какие они у других браузеров?


================================================================


Не знаю, как это всё называется в терминах, посему гуглить и искать на форуме не получается.

Работаю с http://imgsrc.ru, использую след. функцию:

def dldfile(url,fn):
try: urlretrieve(url,fn)
except: return 0
else: return 1
Пару дней назад перестало работать, файлы стали нулевой длинны*. Подозреваю, что админы сайта заблокировали запросы от имени urllib. У Откидача читал, что у urllib есть “version - атрибут класса с именем программы клиента… по умолчанию исп. строка ”Python-urllib/urllib_version“, вы можете переопределить атрибут version в определении производного класса, чтобы изменить имя программы, посылаемое серверу”.

Так вот - как, куда или где этот version нужно менять? Или какие ещё есть способы замаскироваться под другой браузер?

PS. и подскажите, приблизительно какой вид имеют эти строки определений у браузеров. Простые ли они типа “IE/6.0” или сложные с кучей спецсимволов, версий и подверсий?

*) wget же их успешно выкачивает, но связка python + wget - довольно неуклюжа и негибка.

или хотя-бы подскажите, как это всё называется, чтоб гуглить.
Ferroman
http://python.su/forum/viewtopic.php?pid=34429#p34429
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB