내 Linux 컴퓨터에서 RSelenium과 Tor를 사용하여 Tor IP (Tor Firefox와 함께 Firefox)를 반환하려고합니다. 이것은 파이썬과 함께 할 수 있지만 R에서 문제가 있습니다. 누구나이 작업을 할 수 있습니까? 아마도 Windows/Linux에서 솔루션을 공유 할 수 있습니다.Linux/Windows에서 RSelenium을 사용하는 Tor 브라우저
# library(devtools)
# devtools::install_github("ropensci/RSelenium")
library(RSelenium)
RSelenium::checkForServer()
RSelenium::startServer()
binaryExtension <- paste0(Sys.getenv('HOME'),"/Desktop/tor-browser_en-US/Browser/firefox")
remDr <- remoteDriver(dir = binaryExtention)
remDr$open()
remDr$navigate("http://myexternalip.com/raw")
remDr$quit()
오류 Error in callSuper(...) : object 'binaryExtention' not found
가 반환되고있다.
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from os.path import expanduser # Finds user's user name on Windows
# Substring inserted to overcome r requirement in FirefoxBinary
binary = FirefoxBinary(r"%s\\Desktop\\Tor Browser\\Browser\\firefox.exe" % (expanduser("~")))
profile = FirefoxProfile(r"%s\\Desktop\\Tor Browser\\Browser\\TorBrowser\\Data\\Browser\\profile.default" % (expanduser("~")))
driver = webdriver.Firefox(profile, binary)
driver.get('http://myexternalip.com/raw')
html = driver.page_source
soup = BeautifulSoup(html, "lxml") # lxml needed
# driver.close()
# line.strip('\n')
"Current Tor IP: " + soup.text.strip('\n')
# Based in part on
# http://stackoverflow.com/questions/13960326/how-can-i-parse-a-website-using-selenium-and-beautifulsoup-in-python
# http://stackoverflow.com/questions/34316878/python-selenium-binding-with-tor-browser
# http://stackoverflow.com/questions/3367288/insert-variable-values-into-a-string-in-python
[이 링크] (http://stackoverflow.com/questions/38799909/rselenium-doesnt-connect)에서'javaargs'는'startServer'에 바이너리를 설정해야합니다. 그러나 이렇게하면 Firefox (비 Tor 브라우저) 만 열립니다. 그런 다음'driver.version : unknown' 오류를 발생시킵니다. –