如何访问需要登陆的网页

蘑菇般若菠萝・蜜

2009-07-07 12:05:58 来自: 蘑菇般若菠萝・蜜

通过代码段,如何访问需要登陆的网页呢?
是不是要用到header或者是cookie呢?
谁能给给个例子

  • shurrik

    2009-07-07 12:32:01 shurrik (低调攒人品中……)

    不知道django有没有类似拦截器的东西

  • cute

    2009-07-07 13:28:52 cute (jogging...)

    浏览器怎么发送的,你用python脚本怎么发送就可以了
    用httplib

  • cute

    2009-07-07 13:36:37 cute (jogging...)

    import httplib

    cookie='' #复制你豆瓣的cookie
    conn = httplib.HTTPConnection('www.douban.com',80)
    conn.set_debuglevel(1)
    conn.putrequest('GET', '/contacts/')
    conn.putheader('Referer', 'http://www.douban.com/')
    conn.putheader('User-Agent', 'Mozilla/4.0')
    conn.putheader('Cookie', cookie)
    conn.endheaders()
    conn.send('')
    rsp = conn.getresponse()
    print rsp.read()
    conn.close()

  • 2009-07-07 16:58:41 我的豆瓣

    http://hi.baidu.com/jokerfox/blog/item/3a315ddf0c56dd13485403e4.html

    有些网页需要你登录之后才可以访问,你需要提供账户和密码,
    其实用Python写程序来访问还是蛮简单的,就是对Cookie的保存而已
    比如我在www.bokee.com博客网上注册了帐号test51,密码11111
    如果想访问登录后才可以访问的网页,那么程序似乎可以这样写:
    import urllib2,cookielib
    import urllib
    cookie=cookielib.CookieJar()
    opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
    urllib2.install_opener(opener)
    str=urllib.urlencode({'username':'test51','password':'11111'})
    login_response=urllib2.urlopen('http://reg.bokee.com/account/LoginCtrl.b',str)
    这样做之后cookie就保存下来了,
    之后再去访问一些登录后才可以访问的页面只要直接调用urllib2.urlopen就可以了
    username password 分别为你要提交的form中的元素

  • 水 如履薄冰

    2009-07-07 17:21:14 水 如履薄冰 (开始读经典CS大部头)

    http://www.darlingtree.com/wordpress/archives/242
    看看我写的

  • 蘑菇般若菠萝・蜜

    2009-07-08 11:30:34 蘑菇般若菠萝・蜜

    谢谢 cute。
    果然好用。

  • shuge.lee

    2009-07-08 12:21:44 shuge.lee (等待)

    SESSION + Cookie + JS

  • 死神学徒

    2009-07-08 12:29:05 死神学徒

    webdriver

  • 展骥

    2009-07-11 01:30:40 展骥

    好多有验证码的....这样的话....不行了吧?

  • Daniel

    2009-07-11 09:15:55 Daniel (『知行工夫不可离』)

    mark

  • feefk

    2009-07-11 13:42:06 feefk

    mark

  • 和尚

    2009-07-11 13:48:23 和尚 (我也曾如你般天真)

    学习了


这个小组的成员也喜欢去   · · · · · · 

Django
Django (1309)
Vim
Vim (3186)
Google App Engine
Google App Engine (1363)
Linux
Linux (4109)
ubuntu
ubuntu (4412)
Ruby
Ruby (1118)