Как установить несколько портов socks в файле torcc, в файле конфигурации polipo и реализовать его также в проекте scrapy?

Цель, которую я ставлю перед собой, состоит в том, чтобы использовать несколько команд одного паука, как я делал здесь, и получать разные IP для каждой запущенной команды. Итак, у меня есть некоторые идеи, которые я привожу ниже.

Насколько я понимаю, я могу написать в одном torrc файл несколько портов, как это представлено в ответе adrelanos в этой теме. Это полезно, если это правда, потому что я использую Vidalia, чтобы запустить его, и я могу установить только один torrc файл. Обратите внимание, я не проверял это на данный момент

Но у меня есть несколько допросов.

На этой странице (присутствует в предыдущей теме) torrc файл нуждается в Socksport и ControlPort тоже. Сначала действительно нужно иметь оба? Второй в полипо config файл можно установить несколько разных socksParentProxy в этом как в torrc (Я не нахожу это в руководстве по полипо)? В-третьих, как реализовать Socksport в скрапе middlewares.py с controller ниже в коде?

В моем проекте scrapy у меня есть намерение установить другой порт управления в соответствии с различными командами паука следующим образом:

В spider.py

def __init__ (self, arg1=None, arg2=None , controlport=None, proxyport=None, socksport=None) : 
    arg1= self.arg1
    arg2= self.arg2

В middlewares.py

from toripchanger import TorIpChanger
from stem import Signal
from stem.control import Controller

def _set_new_ip(controlport):
    with Controller.from_port(port=controlport) as controller:
        controller.authenticate(password='tor_password')
        controller.signal(Signal.NEWNYM)

class ProxyMiddleware(object):
    def process_request(self, request, spider):
        _set_new_ip(spider.controlport) #not sure it could work but you get the idea
        request.meta['proxy'] = 'http://127.0.0.1:'+str(spider.proxyport)
        spider.log('Proxy : %s' % request.meta['proxy'])

Так как установить в нем socksport? я смотрел на Controller документация stem библиотека, которую я использую в моем middlewares.py файл, и я не вижу, какой метод может помочь мне сделать это.

И последний вопрос, прокси-сервер необязателен, какой риск, если я не использую прокси-сервер и только Tor?

0 ответов

Другие вопросы по тегам