Как получить http-страницу с помощью механизированных файлов cookie?

StackOverflow https://stackoverflow.com/questions/1513823

  •  19-09-2019
  •  | 
  •  

Вопрос

Существует механизированный объект Python с формой, в которой почти все заданы значения, но еще не отправлены.Теперь я хочу получить другую страницу, используя файлы cookie из экземпляра mechanize, но без сброса страницы, форм и т. д., например.чтобы значения оставались установленными (мне просто нужно получить строку тела другой страницы, и ничего больше).Итак, есть ли способ:

  1. Скажите механизации не сбрасывать страницу (возможно, через UserAgentBase)?
  2. Делать urllib2 использовать банку печенья механизации?Примечание: urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar) не работает
  3. Любой другой способ передать 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

Несколько диких идей:

  • Получить вторую страницу перед заполнением формы?
  • Или получить новую страницу, а затем вернуться()?Хотя, возможно, это сбросит значения.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top