Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 24, 2019 08:30:16

inkscape
Зарегистрирован: 2019-02-24
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Не прослушивает порт 9050 в связке Tor + Selenium

Всем привет!

Тут такое дело - в моей стране запрещён Facebook, а у меня есть некоторая автоматическая selenium активность в этой социальной сети. До недавнего времени, проблем с этим не было, так как VPN позволял открывать запрещённые ресурсы. Но вот теперь блокируют и VPN. Единственное что работает, это браузер Tor.

К моей радости, я обнаружил что selenium работает с этим браузером. https://github.com/webfp/tor-browser-selenium

Так вот, сделал я всё по мануалу, установил всё необходимое на свою Ubuntu 16.04, запустил пробный пример

 from tbselenium.tbdriver import TorBrowserDriver
with TorBrowserDriver("/home/chelovek/Tor2/tor-browser_ru") as driver:
    driver.get('https://torproject.org')

Получил ошибку:
tbselenium.exceptions.TBDriverPortError: SOCKS port 9050 is not listening

В общем, понятно что жалуется на не прослушиваемый порт, но как это исправить мне не понятно. В самом браузере, единственное место, где была возможность установить порт - это настройки прокси. Чего я только не пытался сделать с этими настройками, но на результат это никак не повлияло.

Установил tor(НЕ tor-browser) через терминал - “sudo apt install tor”, ошибка исчезла(по ходу порт начал прослушиваться), браузер открылся, но страницы не открывает, так как путь у меня указан в коде к
 with TorBrowserDriver("/home/chelovek/Tor2/tor-browser_ru") as driver:
который порт не прослушивает. Снова удалил тор и остался со своей старой ошибкой.

tbselenium.exceptions.TBDriverPortError: SOCKS port 9050 is not listening

Кто-нибудь в курсе, как это можно исправить?

Спасибо за внимание.

Офлайн

#2 Фев. 25, 2019 18:35:49

WBMSTR
Зарегистрирован: 2019-02-25
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Не прослушивает порт 9050 в связке Tor + Selenium

может порт 9150

Офлайн

#3 Фев. 26, 2019 13:22:10

inkscape
Зарегистрирован: 2019-02-24
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Не прослушивает порт 9050 в связке Tor + Selenium

может порт 9150

Нет. Жалуется на порт 9050. И да, я в курсе, что браузер настроен на порт 9150, но как и писал выше, попытки изменения порта, ни к чему не привели.

Нашёл немного другой способ решить проблему. Использую Firefox для подключения к Tor.

Сперва нужно запустить браузер Tor, а следом можно запускать следующий код(взято от сюда).

 from selenium import webdriver
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.proxy import Proxy, ProxyType
from selenium.webdriver.firefox.options import Options
import subprocess
import os
profileTor = '/etc/tor/' #  torrc
binary = os.path.expanduser("~/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/Browser/firefox")
firefox_binary = FirefoxBinary(binary)
firefox_profile = FirefoxProfile(profileTor)
#set some privacy settings
firefox_profile.set_preference( "places.history.enabled", False )
firefox_profile.set_preference( "privacy.clearOnShutdown.offlineApps", True )
firefox_profile.set_preference( "privacy.clearOnShutdown.passwords", True )
firefox_profile.set_preference( "privacy.clearOnShutdown.siteSettings", True )
firefox_profile.set_preference( "privacy.sanitize.sanitizeOnShutdown", True )
firefox_profile.set_preference( "signon.rememberSignons", False )
firefox_profile.set_preference( "network.cookie.lifetimePolicy", 2 )
firefox_profile.set_preference( "network.dns.disablePrefetch", True )
firefox_profile.set_preference( "network.http.sendRefererHeader", 0 )
#set socks proxy
firefox_profile.set_preference( "network.proxy.type", 1 )
firefox_profile.set_preference( "network.proxy.socks_version", 5 )
firefox_profile.set_preference( "network.proxy.socks", '127.0.0.1' )
firefox_profile.set_preference( "network.proxy.socks_port", 9150 )
firefox_profile.set_preference( "network.proxy.socks_remote_dns", True )
#if you're really hardcore about your security
#js can be used to reveal your true i.p.
firefox_profile.set_preference( "javascript.enabled", False )
#get a huge speed increase by not downloading images
firefox_profile.set_preference( "permissions.default.image", 2 )
options = Options()
options.set_headless(headless=False)
driver = webdriver.Firefox(firefox_profile=firefox_profile,firefox_options=options)
print(driver)
driver.get("https://check.torproject.org/")
driver.save_screenshot("screenshot.png")

Офлайн

#4 Фев. 26, 2019 16:15:40

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Не прослушивает порт 9050 в связке Tor + Selenium

inkscape
Если вы можете запустить сам Tor, то вам незачем запускать два браузера, достаточно FireFox.
Ведь брузер Тор этот тот же файрфокс, в котором автоматически запускается сам Тор.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version