3

ほとんどすべての値が設定されているが、まだ送信されていないフォームを持つ Python 機械化オブジェクトがあります。ここで、mechanize インスタンスから Cookie を使用して別のページをフェッチしたいのですが、ページやフォームなどをリセットせずに、たとえば値が設定されたままになるようにします (別のページの本文文字列を取得するだけで十分です)。だから方法があります:

  1. ページをリセットしないように mechanize に指示しますか (おそらく を介してUserAgentBase)?
  2. urllib2機械化のクッキー ジャーを使用しますか? 注:urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar)機能しません
  3. にクッキーを渡す他の方法はありurllibますか?
4

3 に答える 3

5

そして正解:

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar))
opener.open(imgurl)
于 2009-10-03T21:03:46.730 に答える
2

これが機能するかどうかはわかりませんが、機械化インスタンスをディープコピーしてみてはいかがでしょうか。

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
于 2009-10-03T14:29:37.920 に答える
2

いくつかのワイルドなアイデア:

  • フォームに入力する前に 2 ページ目を取得しますか?
  • または、新しいページを取得してから goBack() を取得しますか? 多分それは値をリセットしますが。
于 2009-10-03T14:39:21.223 に答える