Есть 2 варианта использования сети Tor, оба заключаются в использовании авторизации.
1. Использование связки
случайный_пользователь:пароль. В таком случае при авторизации для каждого пользователя выдаётся новый IP-адрес. Т.е. при каждом requests запросе ты будешь получать новый IP.
proxy_auth = str(random.randint(10000, 2147483647)) + ':' + 'passwrd'
proxies = {'http': 'socks5h://{}@localhost:9050'.format(proxy_auth), 'https': 'socks5h://{}@localhost:9050'.format(proxy_auth)}
response = requests.get(url, proxies=proxies)
2. Использование
пользователь:случайный_пароль. В таком случае ты сможешь создавать для "пользователя" IP и использовать этот IP-адрес повторно.
proxy_auth = 'user' + ':' + str(random.randint(10000, 2147483647))