gpt4 book ai didi

python-3.x - 如何通过 Selenium 在 Chrome 浏览器中使用 Tor

转载 作者:行者123 更新时间:2023-12-04 00:17:58 24 4
gpt4 key购买 nike

我正在尝试在 Tor 上运行我的 selenium 驱动程序。请注意,在没有 Tor 的情况下,该脚本已经运行且没有错误。

这是我到目前为止所做的:

1)我调用了 Tor 框架

import socks
import socket
from stem.util import term


import stem.process

SOCKS_PORT=7000

socks.setdefaultproxy(proxy_type=socks.PROXY_TYPE_SOCKS5,
addr = "127.0.0.1",
port = SOCKS_PORT)
socket.socket = socks.socksocket

# Perform DNS resolution through the socket
def getaddrinfo(*args): return [(socket.AF_INET, socket.SOCK_STREAM, 6, '', (args[0], args[1]))]

socket.getaddrinfo = getaddrinfo

def print_bootstrap_lines(line):
if "Bootstrapped " in line:
print(term.format(line, term.Color.GREEN))

tor_process = stem.process.launch_tor_with_config(
tor_cmd = "C:/Users/my-username\Desktop/Tor Browser/Browser/TorBrowser/Tor//tor.exe" ,
config = { 'SocksPort': str(SOCKS_PORT),},
init_msg_handler = print_bootstrap_lines,
)
  • 在调用了我理解的类似于容器的 Tor 框架后,我调用了 Chrome 驱动程序:
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.chrome.options import Options
    options = Options()
    options.binary_location = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
    driver = webdriver.Chrome(options=options, executable_path = r'C:\Users\my-username\chromedriver')

  • 3)此时我插入了抓取脚本。

    4) 关闭驱动程序并终止 Tor 进程:
    driver.close()   
    tor_process.kill()

    我得到的输出如下:
    Apr 15 14:31:20.000 [notice] Bootstrapped 0%: Starting
    Apr 15 14:31:23.000 [notice] Bootstrapped 10%: Finishing handshake with directory server
    Apr 15 14:31:23.000 [notice] Bootstrapped 80%: Connecting to the Tor network
    Apr 15 14:31:23.000 [notice] Bootstrapped 90%: Establishing a Tor circuit
    Apr 15 14:31:24.000 [notice] Bootstrapped 100%: Done
    Traceback (most recent call last):

    File "<ipython-input-2-2b2233fc0ae4>", line 1, in <module>
    runfile('C:/Users/my-username-folder/FireStarter_All_1Step_2.py', wdir='C:/Users/my-username-folder')

    File "C:\Users\my-username\AppData\Local\Continuum\anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 786, in runfile
    execfile(filename, namespace)

    File "C:\Users\my-username\AppData\Local\Continuum\anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

    File "C:/Users/my-username-folder/FireStarter_All_1Step_2.py", line 94, in <module>
    driver = webdriver.Chrome(options=options, executable_path = r'C:\Users\my-username-folder\chromedriver')

    File "C:\Users\my-username\AppData\Local\Continuum\anaconda3\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__
    self.service.start()

    File "C:\Users\my-username\AppData\Local\Continuum\anaconda3\lib\site-packages\selenium\webdriver\common\service.py", line 104, in start
    raise WebDriverException("Can not connect to the Service %s" % self.path)

    WebDriverException: Can not connect to the Service C:\Users\my-username-folder\chromedriver

    我究竟做错了什么?

    更新:
    我希望将 Tor 与 Chrome 浏览器一起使用。

    最佳答案

    使用 托尔 使用 Chrome 浏览器通过 Selenium您可以使用以下解决方案:

  • 代码块:
    from selenium import webdriver
    import os

    # To use Tor's SOCKS proxy server with chrome, include the socks protocol in the scheme with the --proxy-server option
    # PROXY = "socks5://127.0.0.1:9150" # IP:PORT or HOST:PORT

    torexe = os.popen(r'C:\Users\Debanjan.B\Desktop\Tor Browser\Browser\TorBrowser\Tor\tor.exe')
    PROXY = "socks5://localhost:9050" # IP:PORT or HOST:PORT
    options = webdriver.ChromeOptions()
    options.add_argument('--proxy-server=%s' % PROXY)
    driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    driver.get("http://check.torproject.org")
  • 浏览器快照:

  • Tor_Chrome

    You can find a relevant discussion in How to connect to Tor browser using Python

    关于python-3.x - 如何通过 Selenium 在 Chrome 浏览器中使用 Tor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55689701/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com