Python 3.x python tor stem HTTP错误503

Python 3.x python tor stem HTTP错误503,python-3.x,Python 3.x,我目前正试图通过python获得一个新的ip 显示来源: import urllib.request from stem import Signal from stem.control import Controller import socks, socket, time, random proxy_support = urllib.request.ProxyHandler({"http" : "127.0.0.1:8118"}) opener = urllib.request.build

我目前正试图通过python获得一个新的ip

显示来源:

import urllib.request
from stem import Signal
from stem.control import Controller
import socks, socket, time, random


proxy_support = urllib.request.ProxyHandler({"http" : "127.0.0.1:8118"})
opener = urllib.request.build_opener(proxy_support)

UA = [
        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11',
        'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36',
        'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0',
        'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36',
        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36',
        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36',
        'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36',
        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36',
        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:26.0) Gecko/20100101 Firefox/26.0',
        'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0',
        'Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0',
        'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36'
    ]

def newI():
    controller = Controller.from_port(port = 9051)
    try:
        controller.authenticate()
        controller.signal(Signal.NEWNYM)
        bytes_read = controller.get_info("traffic/read")
        bytes_written = controller.get_info("traffic/written")

        print (bytes_read)
        print (bytes_written)
    finally:
        controller.close()

if __name__ == '__main__':
    params = 'site:google.com admin'
    page = 0
    for i in range(100):
        url = 'http://www.google.co.kr/search?hl=ko&q=%s&start=%d' %(urllib.parse.quote(params), page)
        proxy_support = urllib.request.ProxyHandler({"http" : "127.0.0.1:8118"})
        urllib.request.install_opener(opener)
        user_agent = random.choice(UA)
        headers = {'User-Agent' : user_agent}
        random_interval = random.randrange(1, 5, 1)
        time.sleep(random_interval)
        req = urllib.request.Request(url, headers = headers)
        res = urllib.request.urlopen(req)
        html = res.read()
        print (len(html))
        page = page + 10
        newI()
我有我的vidalia和privoxy。我已正确设置设置: Web代理(HTTP):127.0.0.1:8118,HTTPS也是如此 在privoxy配置文件中,我有以下行:

forward-socks5   /               127.0.0.1:9050 .
虽然当我运行代码时,它仍然停留在案例1中,我无法获得ip。这是我的vidalia的日志:

1. settings > Sharing > Run as client only
2. settings > Advanced > 127.0.0.1 : 9051
Traceback (most recent call last):
  File "C:/Users/kwon/PycharmProjects/google_search/test.py", line 50, in <module>
    res = urllib.request.urlopen(req)
  File "C:\Python33\lib\urllib\request.py", line 156, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Python33\lib\urllib\request.py", line 475, in open
    response = meth(req, response)
  File "C:\Python33\lib\urllib\request.py", line 587, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python33\lib\urllib\request.py", line 507, in error
    result = self._call_chain(*args)
  File "C:\Python33\lib\urllib\request.py", line 447, in _call_chain
    result = func(*args)
  File "C:\Python33\lib\urllib\request.py", line 692, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "C:\Python33\lib\urllib\request.py", line 475, in open
    response = meth(req, response)
  File "C:\Python33\lib\urllib\request.py", line 587, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python33\lib\urllib\request.py", line 513, in error
    return self._call_chain(*args)
  File "C:\Python33\lib\urllib\request.py", line 447, in _call_chain
    result = func(*args)
  File "C:\Python33\lib\urllib\request.py", line 595, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 503: Service Unavailable
虽然当我运行代码时,它仍然停留在案例1中,我无法获得ip。这是我的vidalia的日志:

1. settings > Sharing > Run as client only
2. settings > Advanced > 127.0.0.1 : 9051
Traceback (most recent call last):
  File "C:/Users/kwon/PycharmProjects/google_search/test.py", line 50, in <module>
    res = urllib.request.urlopen(req)
  File "C:\Python33\lib\urllib\request.py", line 156, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Python33\lib\urllib\request.py", line 475, in open
    response = meth(req, response)
  File "C:\Python33\lib\urllib\request.py", line 587, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python33\lib\urllib\request.py", line 507, in error
    result = self._call_chain(*args)
  File "C:\Python33\lib\urllib\request.py", line 447, in _call_chain
    result = func(*args)
  File "C:\Python33\lib\urllib\request.py", line 692, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "C:\Python33\lib\urllib\request.py", line 475, in open
    response = meth(req, response)
  File "C:\Python33\lib\urllib\request.py", line 587, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python33\lib\urllib\request.py", line 513, in error
    return self._call_chain(*args)
  File "C:\Python33\lib\urllib\request.py", line 447, in _call_chain
    result = func(*args)
  File "C:\Python33\lib\urllib\request.py", line 595, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 503: Service Unavailable
回溯(最近一次呼叫最后一次):
文件“C:/Users/kwon/PycharmProjects/google_search/test.py”,第50行,在
res=urllib.request.urlopen(req)
文件“C:\Python33\lib\urllib\request.py”,第156行,在urlopen中
返回opener.open(url、数据、超时)
打开文件“C:\Python33\lib\urllib\request.py”,第475行
响应=方法(请求,响应)
文件“C:\Python33\lib\urllib\request.py”,第587行,在http\U响应中
“http”、请求、响应、代码、消息、hdrs)
文件“C:\Python33\lib\urllib\request.py”第507行出错
结果=自身调用链(*args)
文件“C:\Python33\lib\urllib\request.py”,第447行,在调用链中
结果=func(*args)
文件“C:\Python33\lib\urllib\request.py”,第692行,在http\u error\u 302中
返回self.parent.open(新建,超时=请求超时)
打开文件“C:\Python33\lib\urllib\request.py”,第475行
响应=方法(请求,响应)
文件“C:\Python33\lib\urllib\request.py”,第587行,在http\U响应中
“http”、请求、响应、代码、消息、hdrs)
文件“C:\Python33\lib\urllib\request.py”第513行出错
返回自我。调用链(*args)
文件“C:\Python33\lib\urllib\request.py”,第447行,在调用链中
结果=func(*args)
文件“C:\Python33\lib\urllib\request.py”,第595行,默认为http\u error\u
raise HTTPError(请求完整的url、代码、消息、hdrs、fp)
urllib.error.HTTPError:HTTP错误503:服务不可用

我做错了什么?

谷歌阻止自动请求,请看另一篇文章