Python Mechanize使用.open时总是返回'response_seek_wrapper

1 投票
1 回答
4709 浏览
提问于 2025-04-16 05:39

我不太明白发生了什么,因为这个脚本之前是可以正常工作的(在我对系统上的Python做了一些改动之后...)

但是当我尝试类似下面的代码时

import mechanize
browser = mechanize.Browser()
browser.open("http://google.com")

我得到的结果是这样的

<response_seek_wrapper at 0x10123fd88 whose wrapped object = <closeable_response at 0x101232170 whose fp = <socket._fileobject object at 0x1010bf5f0>>>

有没有人知道这是为什么,以及怎么解决这个问题?

谢谢!

1 个回答

5

这不是一个错误,对吧?
其实没有发生什么问题,你只是得到了一个返回值,这个返回值本质上是一个响应对象,相当于 br.response()

看看这个

>>> r = browser.open("http://google.com")
>>> r
<response_seek_wrapper at 0x9bb116c whose wrapped object = <closeable_response at 0x9bb426c whose fp = <socket._fileobject object at 0x9ba306c>>>
>>> r.info().headers
# see the response headers

和这个对比一下

>>> browser.open("http://google.com")
>>> browser.response()
<response_seek_wrapper at 0x9c229cc whose wrapped object = <closeable_response at 0x9bb426c whose fp = <socket._fileobject object at 0x9ba306c>>>
>>> browser.response().info().headers
# see the response headers

撰写回答