2016-07-04 2 views
-2

Я пытаюсь получить CSV-файл с URL-адресом с Python. Когда я использую url в браузере, я получаю файл .csv, но когда я использую этот скрипт, я получаю только html-код.Получить .csv-файл с Python с url

__file_url__ = "http://myurl.com/?export" 
data = urllib2.urlopen(__file_url__) 
     for line in data: 
      print(line) 

Thanx для всей помощи!

+1

Это проблема на стороне сервера. Ваш сервер меняет ответы на что-то, и мы не знаем, что. Это могут быть файлы cookie, это может быть заголовок «User-Agent», это может быть фаза луны. Это * не * проблема, специфичная для Python. –

+0

О, okey .. ну, это объясняло бы динамическое имя файла-именования. Так что я не могу получить этот файл с помощью python? –

+1

Возможно, вы можете, но вам нужно выяснить, какое волшебное сочетание заголовков на сервере меняется. Я бы начал играть с заголовками, которые отправляет ваш браузер, и посмотреть, какой из них добавлен в запрос Python. –

ответ

0

Я супер глупый. Чтобы загрузить это, необходимо войти в систему. И, конечно, при выполнении запроса от Python я не был зарегистрирован. Поэтому мне нужно было использовать сеанс из запроса lib, чтобы сначала написать формуляр входа, а затем снова запросить файл и wiola - есть мой файл.

from requests import session 
s = session() 
s.post('http://myurl.com/login', data = { 'username': 'myusername', 'password': 'mypassword' }) 
download = s.get('http://myurl.com/?export') 
Смежные вопросы