Как поменять IP tor browser в python?
Всем привет! Столкнулся с такой проблемой, что не меняется IP tor browser при парсинге. Решил проверить как выглядит мой IP в запросах и нашел такую функцию.
import requests
from bs4 import BeautifulSoup
import socks
import socket
from time import sleep
def checkIP():
ip = requests.get('http://checkip.dyndns.org').content
soup = BeautifulSoup(ip, 'html.parser')
print(soup.find('body').text)
socks.set_default_proxy(socks.SOCKS5, "localhost", 9150)
socket.socket = socks.socksocket
i = 0
while i <=100:
i += 1
checkIP()
sleep(2)
Конечно IP меняется, но только один раз. Как сделать чтоб смена IP происходила каждые пару минут, или при каких-то ошибок, к примеру ошибка при запросе сайта, который банит IP.
Ответы (2 шт):
Автор решения: Даниил Чижевский
→ Ссылка
Нужно изменить файл /etc/tor/torrc или path/to/your/torbrowser/Data/Tor/torrc, внеся следующее значение:
MaxCircuitDirtiness NUM
Где NUM - максимальное время жизни соединения в секундах (то есть и IP тоже).
Источник: StackOverflow.
Автор решения: sdv227
→ Ссылка
Запуск сокс прокси с помощью библиотеки stem
tor_process = stem.process.launch_tor_with_config(
config = {
'SocksPort': str(SOCKS_PORT),
'ExitNodes': '{ru}',
},
init_msg_handler = print_bootstrap_lines,
)