1

我的问题是,无论我是否延长睡眠时间,网站都会在每 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 是什么?

4

0 回答 0