Как установить несколько портов 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?