Urllib2和代理

时间:2012-05-31 23:26:01

标签: python urllib2

我的问题是,无论是否延长休眠时间,网站都会在每1500次请求后阻止IP。所以我在做请求时使用代理。贝娄是构建开场白的代码。

def getOpener(self, pip=None):
        if pip:
            proxy_handler = urllib2.ProxyHandler({'http': pip})
            opnr = urllib2.build_opener(proxy_handler)
        else:
            opnr = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
        opnr.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1')]
        urllib2.install_opener(opnr)
        return opnr

但是当使用代理(高匿名)时,该网站几乎不允许40-50个请求。为什么会这样?我认为每个代理应该做1500个请求。那么我有什么遗漏的东西吗?我可能需要传递一些额外的标题吗?

(这不是与第一个问题相关的第二个问题)

此外,我发现了ProxyHandler的两种不同的dict语法。

Syntax1:
proxy_handler = urllib2.ProxyHandler({'http': '61.233.25.166:80'})

Syntax2:
proxy_handler = urllib2.ProxyHandler({'http': 'http://61.233.25.166:80'}) #see http:// in value

它们有不同的含义或它们是否相同?什么是最佳实践Syntax1或Syntax2?

0 个答案:

没有答案