Цель, которую я ставлю перед собой, состоит в том, чтобы использовать несколько команд одного паука, как я это сделал здесь , и получать разные IP-адреса для каждой запущенной команды.Итак, у меня есть некоторые идеи, которые я привожу ниже.
Насколько я понимаю, я могу записать в один файл torrc
несколько портов, как это представлено в ответе adrelanos в этой теме ,Это полезно, если true, потому что я использую Vidalia, чтобы запустить его, и я могу установить только один файл torrc
. Заметьте, я не проверял его на данный момент
Но у меня есть несколько запросов.
На этой странице (присутствует в предыдущем topic ) , torrc
Файл также нуждается в Socksport
и ControlPort
.Сначала действительно нужно иметь оба?Во-вторых, в файле polipo config
я могу установить несколько различных socksParentProxy
в нем, как в torrc
(я не нахожу это в руководстве по polipo) ?В-третьих, как реализовать Socksport
в scrapy middlewares.py
с controller
ниже в коде?
В моем проекте scrapy у меня есть намерение установить другой порт управления в соответствии с различными командами паука, такими какэто:
In spider.py
def __init__ (self, arg1=None, arg2=None , controlport=None, proxyport=None, socksport=None) :
arg1= self.arg1
arg2= self.arg2
In 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?