ID とパスワードを使用して Web ページにログインし、Web サイト内のリンクに移動して、リンクの応答としてページ ソースに表示される完全なページ コードまたは応答をダウンロードする方法を教えてください。perl または python を使用してみましたが、うまくいきませんでした。www.server.com:7180 にログインして Cookie を保存し、次に ww.server.com:7180/healthissues ページにリダイレクトするか、ブラウザーで得られた応答をテキスト ファイルで直接ダウンロードする方法についてサポートが必要です。
import urllib
import urllib2
import webbrowser
import cookielib
data1={
'j_username':'id', 'j_password':'pass'
}
data = urllib.urlencode(data1)
url = 'http://server.intranet.com:7180/cmf/allHealthIssues'
full_url = url + '?' + data
response = urllib2.urlopen(full_url)
with open("results.html", "w") as f:
f.write(response.read())
webbrowser.open("results.html")
上記のコードはWebページをダウンロードしますが、ダウンロードでは常に認証ページになります。多くのパッケージを見つけましたが、残念ながらパッケージやライブラリをインストールするアクセス権がありません。どんな助けでも大歓迎です。
PM 2Ring によって提案されたコードを試してみましたが、以下のエラーが表示されます。Python 2.6.6 を使用していますが、その方法が機能するかどうかはわかりません。エラーの回避策または解決方法があれば教えてください。
Traceback (most recent call last):
File "a.py", line 15, in <module>
handle = urllib2.urlopen(req)
File "/usr/lib64/python2.6/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib64/python2.6/urllib2.py", line 397, in open
response = meth(req, response)
File "/usr/lib64/python2.6/urllib2.py", line 510, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib64/python2.6/urllib2.py", line 435, in error
return self._call_chain(*args)
File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib64/python2.6/urllib2.py", line 518, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: Invalid request