微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有 tor 的代理不会切换 ip

如何解决带有 tor 的代理不会切换 ip

我编写了一个测试脚本,看看我是否可以将我的 IP 与 Tor 切换为网络爬虫。我几乎遵循 this tutorial 只是更改为 Selenium Chrome 驱动程序。然而,'switchIP' 方法似乎并没有改变我的 ip。我知道 controller.signal(Signal.NEWNYM) 不能保证每次调用都会更改 IP。但是经过 100 多次迭代后,IP 没有改变。

import time
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from stem import Signal
from stem.control import Controller

PASSWORD = 'XXX'

def my_proxy(PROXY_HOST,PROXY_PORT):
    options = Options()
    options.add_argument('user-data-dir=/home/minhly')
    options.add_argument('--headless')
    options.add_argument("network.proxy.type=1")
    options.add_argument("network.proxy.socks=%s" %PROXY_HOST)
    options.add_argument("network.proxy.socks_port=%s" %PROXY_PORT)
    driver = webdriver.Chrome(chrome_options=options)
    return driver

def switchIp():
    print('switching ip')
    with Controller.from_port(port = 9051) as controller:
        controller.authenticate(password=PASSWORD)    
        controller.signal(Signal.NEWNYM)


proxy = my_proxy("127.0.0.1",9050)
for x in range(5):
    proxy.get("http://whatsmyuseragent.org")
    soup = BeautifulSoup(proxy.page_source,'html.parser')
    print(soup.find('div',class_ = ['ip-address']).text)
    switchIp()
    time.sleep(1)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。