Я использую twill
для навигации по сайту, защищенному формой входа.Python twill: скачать файл, доступный через PHP-скрипт
from twill.commands import *
go('http://www.example.com/login/index.php')
fv("login_form", "identifiant", "login")
fv("login_form", "password", "pass")
formaction("login_form", "http://www.example.com/login/control.php")
submit()
go('http://www.example.com/accueil/index.php')
На этой последней странице я хочу, чтобы загрузить файл Excel, который доступен через div
со следующим атрибутом:
onclick="OpenWindowFull('../util/exports/control.php?action=export','export',200,100);"
С twill
я в состоянии получить доступ к URL в PHP скрипт и покажите содержимое файла.
go('http://www.example.com/util/exports/control.php?action=export')
show()
Однако строка возвращается в соответствии с исходным содержимым: при этом непригодна для использования. Есть ли способ получить непосредственно файл Excel способом, подобным urllib.urlretrieve()
?
Похоже похож на http://stackoverflow.com/questions/16283799/how-to-read- a-csv-file-from-a-url-python – dmitryro
Не совсем: в этом случае доступ к сайту защищен паролем. Мне нужно отправить форму входа. Таким образом, используя 'twill'. (Я бы предпочел использовать 'запросы', но, похоже, запутанный контроль над заголовками входа и после многих попыток я мог заставить его работать только с' twill'. –
EDIT: Я редактировал свой вопрос: файл находится в формате MS Excel, а не в CSV, поэтому двоичные данные ... –