以编程方式登录用户?

时间:2011-10-28 22:09:06

标签: python session authentication language-agnostic proxy

是否可以通过后台进程登录网站(并允许使用任何浏览器访问该网站,而无需用户登录),无需用户交互,并允许用户浏览网站而无需登录任何网站浏览器?

我猜我需要在用户系统上的每个Web浏览器中注册创建的会话,但还有其他(可能更简单)的方法吗?

将其想象为在后台自动登录Gmail并且无需登录页面即可浏览它。

2 个答案:

答案 0 :(得分:1)

是的可能。我建议两种方法来解决你的问题。它们都使用HTTP请求。您应该查看有关HTTP请求的更多信息。

1)最简单的方法,建议只登录Requests: HTTP for Humans

2)蟒蛇scrapy,但scrapy是爬行或屏幕刮。 检查这个例子:

登录蜘蛛示例

class LoginSpider(BaseSpider):
name = 'example.com'
start_urls = ['http://www.example.com/users/login.php']

def parse(self, response):
    return [FormRequest.from_response(response,
                formdata={'username': 'john', 'password': 'secret'},
                callback=self.after_login)]

def after_login(self, response):
    # check login succeed before going on
    if "authentication failed" in response.body:
        self.log("Login failed", level=log.ERROR)
        return

    # continue scraping with authenticated session...

more info here

答案 1 :(得分:0)

python中有一个名为urllib2的库,它可以让你做你需要的。查看python文档或此处:

http://www.voidspace.org.uk/python/articles/urllib2.shtml#openers-and-handlers

或者这个:

http://www.doughellmann.com/PyMOTW/urllib2/