2

使用 python 3.2.3 我正在尝试登录一些网站并将源代码从隐藏页面保存到文件中。我被困在如何登录上。我已经知道如何登录到一个特定的网站,但似乎无法让它在其他网站上运行。我尝试登录的网页的来源是:

<form id="login_form" name="login_form" action="https://www.o2online.ie/amserver/UI/Login?org=o2ext&goto=%2F%2Fwww.o2online.ie%2Fo2%2Fmy-o2%2F" method="post">
                                    <p id="form_header">My Account login</p>
                                    <input value="Go" type="hidden" name="IDButton" id="IDButton"/>
                                    <input value="o2ext" type="hidden" name="org" id="org"/>
                                    <input value="TRUE" type="hidden" name="CONNECTFORMGET"/>
                                    <label for="IDToken1">Username</label><br />
                                    <input tabindex=1 type="text" id="IDToken1" name="IDToken1" value="Username/mobile" onclick="javascript: this.value='';" maxlength="60"  onfocus="this.value='';" tabindex=1 /><br />
                                    <br />
                                    <label for="IDToken2">Password</label><br />
                                    <input tabindex=2 type="password" id="IDToken2" name="IDToken2" value="" maxlength="30"  onfocus="this.value='';" tabindex=2 />
                                    <input tabindex=3 type="image" src="../images/my-o2/Login-button.png" id="submit_button" />
                                </form>

在我成功登录的其他页面上,有一个具有特定值的提交按钮,但是这个网页有一个没有价值的提交按钮的图像。

我一直在使用的代码是:

import urllib.request
import urllib.parse
import http.client
import sys

url = 'http://www.o2online.ie/o2/login/'
login_data = {
             'IDToken1': 'xxxx',
             'IDToken2': 'xxxx',
             #'submitbutton': 'submit'                           
             }

# creating an opener object that will handle the cookies
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor)

r = opener.open(url, urllib.parse.urlencode(login_data).encode())

# logged in

#Opening and saving source to a file
f = opener.open('http://www.o2online.ie/o2/my-o2/')
sys.stdout = open('file.html', 'w')
print (f.read(999999))

我已经注释掉了提交按钮。

可以修改此代码以登录该网站吗?

您将如何在 python 中提交此表单?

4

0 回答 0