我使用了机械化并成功登录到用户登录页面。现在我想将站点导航到子菜单中的特定页面。当我通过登录后打开特定页面的URL来尝试此操作时,会出现另一个登录页面,我没有用户名和密码。当我在Web浏览器上导航网站时,通常不会显示此登录页面。 我怎么能这样做?
import mechanize
import webbrowser
import cookielib
usern = '****'
passw = '****'
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_handle_robots(False)
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')]
r = br.open("https://myunihub-1.mdx.ac.uk/cas-web/login?service=https%3A%2F%2Fmyunihub.mdx.ac.uk%2Fc%2Fportal%2Flogin")
br.select_form(nr=0)
br.form['username'] = usern
br.form['password'] = passw
br.set_cookiejar(cj)
br.submit
url = "https://misis.mdx.ac.uk/mislve/bwskfshd.P_CrseSchd"
webbrowser.open_new(url)
答案 0 :(得分:0)
尝试使用Cookie并伪装成实际的浏览器。某些网站不允许自动脚本/漫游器抓取其网站。但你可以随时告诉他们不是我的实际浏览器。
import cookielib
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
让我们假装我们不是机器人和实际的浏览器。
br.set_handle_robots(False)
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')]