2

我最近在 SO 的帮助下写了这个。现在有人可以告诉我如何让它真正登录到板上。它以非登录格式显示所有内容。

import urllib2, re
import urllib, re
logindata = urllib.urlencode({'username': 'x', 'password': 'y'})
page = urllib2.urlopen("http://www.woarl.com/board/index.php", logindata)
pagesource = page.read()
print pagesource
4

4 回答 4

4

最近有人问了你问的同样的问题。如果您通读该问题的答案,您将看到代码示例向您展示如何在仅使用标准库中的内容在 Python 脚本中浏览网站时保持登录状态。

接受的答案可能对您没有其他答案有用,因为接受的答案处理涉及重定向的特定问题。但是,无论如何,我建议通读所有答案。

于 2008-11-26T18:06:45.320 回答
3

您可能想研究从服务器保留 cookie。

PycurlMechanize会让你更轻松

于 2008-11-26T18:02:14.843 回答
1

如果实际查看页面,您会看到登录链接将您带到http://www.woarl.com/board/ucp.php?mode=login

该页面具有登录表单并再次使用 POST提交到http://www.woarl.com/board/ucp.php?mode=login 。

然后,您必须提取可能设置的 cookie,并将它们放入 CookieJar 或类似文件中。

于 2008-11-26T18:08:05.830 回答
0

您可能希望使用这些处理程序创建一个开启程序并将其应用于 urllib2。应用这些后,您的 cookie 将得到处理,如果服务器决定将您带到其他地方,您将被重定向。

# Create handlers
cookieHandler = urllib2.HTTPCookieProcessor() # Needed for cookie handling
redirectionHandler = urllib2.HTTPRedirectHandler() # needed for redirection (not needed for javascript redirect?)

# Create opener
opener = urllib2.build_opener(cookieHandler,redirectionHandler)

# Install the opener
urllib2.install_opener(opener)
于 2008-11-27T03:46:52.667 回答