登录后如何浏览网站

时间:2015-10-04 16:37:40

标签: python login mechanize navigateurl python-webbrowser

我使用了机械化并成功登录到用户登录页面。现在我想将站点导航到子菜单中的特定页面。当我通过登录后打开特定页面的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)

1 个答案:

答案 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')]