scrapy CrawlSpider: политика сканирования / вопросы очереди - PullRequest
0 голосов
/ 06 ноября 2011

Я начал с scrapy несколько дней назад, узнал о том, как очищать определенные сайты, например, с примера dmoz.org; пока все хорошо и мне это нравится. Поскольку я хочу узнать о разработке поисковых систем, я стремлюсь создать сканер (и хранилище, индексатор и т. Д.) Для большого количества веб-сайтов любого «цвета» и контента.

До сих пор я также пытался сканировать по глубине первого порядка и по порядку первого порядка.

На данный момент я использую только одно правило, я задаю какой-то путь для пропуска и несколько доменов.

Rule(SgmlLinkExtractor(deny=path_deny_base, deny_domains=deny_domains),
        callback='save_page', follow=True),

У меня есть один конвейер, хранилище mysql для хранения URL, тела и заголовков загруженных страниц, выполненное через PageItem с этими полями.

Мои вопросы сейчас:

  1. Можно ли использовать элемент для простого хранения страниц?

  2. Как работает то, что паук проверяет базу данных, если страница уже сканирована (т.е. за последние шесть месяцев), она как-то встроена?

  3. Есть ли что-то вроде черного списка для бесполезных доменов, т.е. заполненные домены, фермы ссылок и т. д .?

Есть много других вопросов, таких как хранилище, но я думаю, я остановлюсь здесь, только еще один общий вопрос поисковой системы

  • Есть ли способ получить данные результатов сканирования от других профессиональных сканеров, конечно, это нужно сделать, отправив жесткие диски, в противном случае объем данных будет таким же, если я сам их сканирую (сжимая в сторону).

1 Ответ

0 голосов
/ 08 ноября 2011

Я постараюсь ответить только на два ваших вопроса:

  1. Можно ли использовать элемент для простого хранения страниц?

AFAIK, скрапу не важно, что ты положил в поле предмета.Только ваш конвейер будет иметь с ними дело.

  1. Как работает то, что паук проверяет базу данных, если страница уже сканирована (за последние шесть месяцев, т. Е.), Она как-то встроена?

В Scrapy есть промежуточное ПО для дубликатов, но оно фильтрует дубликаты только в текущем сеансе.Вы должны вручную запретить копирование, чтобы не сканировать сайты, которые вы сканировали шесть месяцев назад.

Что касается вопросов 3 и 4 - вы их не понимаете.

...