Как поменять 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,
)

Источник

→ Ссылка