Как получить http-страницу с помощью механизированных файлов cookie?
Вопрос
Существует механизированный объект Python с формой, в которой почти все заданы значения, но еще не отправлены.Теперь я хочу получить другую страницу, используя файлы cookie из экземпляра mechanize, но без сброса страницы, форм и т. д., например.чтобы значения оставались установленными (мне просто нужно получить строку тела другой страницы, и ничего больше).Итак, есть ли способ:
- Скажите механизации не сбрасывать страницу (возможно, через
UserAgentBase
)? - Делать
urllib2
использовать банку печенья механизации?Примечание:urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar)
не работает - Любой другой способ передать cookie
urllib
?
Решение
И правильный ответ:
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar))
opener.open(imgurl)
Другие советы
Понятия не имею, сработает ли это, но почему бы вам не попробовать глубоко скопировать экземпляр механизации, например
from copy import deepcopy
br = Browser()
br.open("http://www.example.com/")
# Make a copy for doing other stuff with
br2 = deepcopy(br)
# Do stuff with br2
# Now do stuff with br
Несколько диких идей:
- Получить вторую страницу перед заполнением формы?
- Или получить новую страницу, а затем вернуться()?Хотя, возможно, это сбросит значения.
Не связан с StackOverflow