использование tor с каркасом Scrapy - PullRequest
6 голосов
/ 10 ноября 2011

Я пытаюсь сканировать веб-сайт, который достаточно сложен, чтобы остановить ботов, я имею в виду, что он разрешает только несколько запросов после того, как Scrapy зависает.

Вопрос 1: есть ли способ, если Scrapy зависаетЯ могу возобновить процесс сканирования с той же точки.Чтобы избавиться от этой проблемы, я написал свой файл настроек так:

BOT_NAME = 'MOZILLA'
BOT_VERSION = '7.0'

SPIDER_MODULES = ['yp.spiders']
NEWSPIDER_MODULE = 'yp.spiders'
DEFAULT_ITEM_CLASS = 'yp.items.YpItem'
USER_AGENT = '%s/%s' % (BOT_NAME, BOT_VERSION)

DOWNLOAD_DELAY = 0.25
DUPEFILTER=True
COOKIES_ENABLED=False
RANDOMIZE_DOWNLOAD_DELAY=True
SCHEDULER_ORDER='BFO'

Это моя программа:

class ypSpider(CrawlSpider):

   name = "yp"


   start_urls = [
       SOME URL

   ]
   rules=(
      #These are some rules
   )
   def parse_item(self, response):
   ####################################################################
   #cleaning the html page by removing scripts html tags    
   #######################################################
   hxs=HtmlXPathSelector(response)

Вопрос в том, где я мог бы написать прокси http имне нужно импортировать любые связанные с tor классы, я новичок в Scrapy, потому что из этой группы я так много узнал, теперь я пытаюсь научиться «как использовать ip вращение или tor»

Как предложил один из наших участников,Я запустил tor и установил HTTP_PROXY на

set http_proxy=http://localhost:8118

, но он выдает некоторые ошибки,

failure with no frames>: class 'twisted.internet.error.ConnectionRefusedError'   Connection was refused by other side 10061: No connection could be made because the target machine actively refused it.

Поэтому я изменил http_proxy на

set http_proxy=http://localhost:9051

Теперь ошибкаis

failure with no frames>: class 'twisted.internet.error.ConnectionDone' connection was closed cleanly.

Я проверил настройки сети Firefox, там я не увидел никаких http прокси, но вместо этого он использует SOCKSV5, там он показывает 127.0.0.1:9051. (до TOR он работает безпрокси) Пожалуйста, помогите мне, я все еще не понимаю, как использовать TOR через Scrapy. Какой набор TOR я должен использовать и как? Я надеюсь, что оба моих вопроса будут решены

  1. Еслигусеничный свисает по какой-то причине(Ошибка подключения), я хотел бы возобновить службу оттуда
  2. Как использовать вращающиеся IP-адреса в Scrapy

1 Ответ

4 голосов
/ 11 ноября 2011

TOR сам по себе не является http-прокси, порт 8118 и ошибка соединения отклонены, что свидетельствует о том, что у вас не работает privoxy [1].Попробуйте правильно настроить privoxy, а затем повторите попытку, используя переменную окружения http_proxy=http://localhost:8118.

. Я успешно просмотрел TOR, используя privoxy с scrapy.

[1] http://www.privoxy.org/

...