質問

最近、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
役に立ちましたか?

解決

最近、誰かが同じ質問をしました。その質問への回答を読むと、標準ライブラリにあるものだけを使用してPythonスクリプトでサイトを閲覧している間にログインしたままにする方法を示すコード例が表示されます。

受け入れられた回答は、この他の回答ほど有用ではないかもしれません。受け入れられた回答は、リダイレクトを伴う特定の問題を扱います。ただし、すべての回答に関係なく読むことをお勧めします。

他のヒント

おそらく、サーバーからのCookieの保存を検討する必要があります。

Pycurl またはメカニズムにより、これがはるかに簡単になります

実際にページを見ると、ログインリンクから http://www.woarl.com/board/ucp.php?mode=login

このページにはログインフォームがあり、 http:// wwwに送信します。 woarl.com/board/ucp.php?mode=login をPOSTで再度実行します。

その後、おそらく設定されているCookieを抽出し、CookieJarなどに入れる必要があります。

これらのハンドラーでオープナーを作成し、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)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top