首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python登录quora

使用python登录quora
EN

Stack Overflow用户
提问于 2013-01-10 13:33:33
回答 1查看 1.3K关注 0票数 2

我试着用python登录quora。但它给了我以下错误。

代码语言:javascript
复制
urllib2.HTTPError: HTTP Error 500: Internal Server Error

到目前为止这是我的密码。我还在代理后面工作。

代码语言:javascript
复制
import urllib2
import urllib
import re
import cookielib

class Quora:
    def __init__(self):
         '''Initialising and authentication'''

         auth = 'http://name:password@proxy:port' 
         cj = cookielib.CookieJar()
         logindata = urllib.urlencode({'email' : 'email' , 'password' : 'password'})
         handler = urllib2.ProxyHandler({'http' : auth})
         opener = urllib2.build_opener(handler , urllib2.HTTPCookieProcessor(cj))
         urllib2.install_opener(opener)
         a = urllib2.urlopen('http://www.quora.com/' , logindata)

def main():
    Quora()

谁能指出出什么问题了吗?

代码语言:javascript
复制
if __name__ == '__main__':
    main()
EN

回答 1

Stack Overflow用户

发布于 2013-01-10 19:06:58

试着做这样的事情:

代码语言:javascript
复制
# Load proxies
proxies = []
proxies_fp = open('proxies.txt', 'r') # A list of proxies
for proxy in proxies_fp:
        proxies.append(proxy)


cookiejar = cookielib.CookieJar()

def perform_request(url, opener, credientials):
        # Instantiate our request object
        request = urllib2.Request(url)

        # Perform the request, returning a pointer to the result set.
        result = opener.urlopen(request, credentials)

        return result

credentials ={
        'username' : 'username',
        'password' : 'password'
        }

encoded_credentials = urllib.urlencode(credentials)

def main():
        # Get random proxy
        proxy = random.choice(proxies)

        # Install our proxy
        opener = urllib2.build_opener(
            urllib2.ProxyHandler({'http': proxy}),
            urllib2.HTTPRedirectHandler(),
            urllib2.HTTPHandler(debuglevel=0),
            urllib2.HTTPSHandler(debuglevel=0),
            urllib2.HTTPCookieProcessor(cookiejar),
            )
        urllib2.install_opener(opener)
        a = perform_request(url, opener, encoded_credentials)

-未测试的--

我不得不做一些类似的事情,它对我来说是这样的。(请注意,这不是我使用的代码的确切副本。我不得不操纵它一点,但没有测试)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14259144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档