Python Mechanize:页面未完全加载

1 投票
2 回答
1109 浏览
提问于 2025-04-16 20:45

我正在使用的代码片段是:

br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

response = br.open('http://www.facebook.com')
br.select_form(nr=0)
br['email'] = USERNAME
br['pass'] = PASSWORD
response2 = br.submit()

assert br.viewing_html()
time.sleep(50) 


for form in br.forms():
    print form

我尝试把response2.read()的内容写入文件,以便看看发生了什么。结果只加载了顶部的导航栏。我加上time.sleep(50)的目的是为了给页面加载留点时间,但看来这个方法没用。

那正确的做法是什么呢?

2 个回答

0

你不应该去抓取 www.facebook.com 的内容。

正确的做法是使用 Facebook 平台,正如 @infrared 所提到的那样。

0

你确定你传递的登录信息是正确的吗?

我用我的登录信息运行了你的代码,结果一切正常。

我想补充一点,你不需要在代码里加 time.sleep(50),因为Mechanize会一直等待,直到接收到所有内容。

为了让你的问题更有帮助,请提供你的 完整 代码示例 以及 输出结果(包括 print response2)。

撰写回答