Скачать и распарсить страницу

Статус
В этой теме нельзя размещать новые ответы.

Raccoon

Участник
Регистрация
31 Июл 2007
Сообщения
176
Реакции
9
Добрый день.
Подскажите с помощью каких функций можно решить следующую задачу:

1. Скачать страницу.
2. Вытащить содержимое тэгов title, meta, desc.
3. Определить наиболее часто встречаемые слова.
4. Сравнить всё это с таблицей заданных слов.

Спасибо.
 
1) file(), file_get_contents(), fopen(), curl... , sokets ...
2) regexp... , str_pos()
3 и 4) работа с массивами

Поиск по форуму даст тебе примеры скриптом и аналогичные темы
 
для облегчения работы с html-dom посоветовать вот такую библиотеку:
Для просмотра ссылки Войди или Зарегистрируйся
сам когда-то очень быстро написал парсер на ней
 
Скачал, вроде всё понятно, буду пробовать.

Такие вопросы остались:

1. Не будет ли килятся процесс, по которому парсер будет обходить к примеру 1000 сайтов? Как контролировать нагрузку?

2. По пунктам 3 и 4. Объясню зачем мне это нужно. Нужно для модерации, заграбленный контент надо сохранить в определенной категории.

Получается схема работы следующая:
Я парсю страницы, выдираю ключевые слова и наполняю ими массив А. В массиве Б есть ключевики, которые соответствуют определенной категории.

Я начинаю сравнивать по одному элементу массива А с элементом массива Б, и если процент совпадений больше N, то принимается решение записать контент в категорию.

Верно?
 
Такие вопросы остались:

1. Не будет ли килятся процесс, по которому парсер будет обходить к примеру 1000 сайтов? Как контролировать нагрузку?
не пытайтесь обойти все 1000 сайтов за раз, запускайте процесс для меньшего количества, к примеру кадждые 5 минут запускается процесс для 50 сайтов
 
не пытайтесь обойти все 1000 сайтов за раз, запускайте процесс для меньшего количества, к примеру кадждые 5 минут запускается процесс для 50 сайтов

Спасибо за совет. Т.е. лучше делать, чтобы скрипт по малу, но регулярно парсил.
 
Спасибо за совет. Т.е. лучше делать, чтобы скрипт по малу, но регулярно парсил.
да, как вариант получать список сайтов из базы, для этого списка проставлять статус "в обработке", на случай если в к следующенму запуску скрипта сайты еще не будут обработаны, а скрипт работал с последующими, по окончанию обработки сайта обнулять статус и проставлять время, чтобы одини и тежи сайты не обрабатывались по 10 раз за день.
 
Лучшем вариантом сдесь будет два поля.
статус 0 не в работе 1 в рвботе.
date-last-job это время последнего парсинга. после кпждого парсинга обновляй на текущие время. Когда начинаеш парсить сайт ставь статус один по завершению ноль.
При запуске проверяй на статус ноль и дата последней работы меньше текущей скажем на 30 минут. Делаеш пять десять потоков программы и будет тебе счастье.
С проксей лучше не делай будут глюки задержки итп..
Многие сайты а точнее 99% тебя не забанят.
Если делать проксю то только на тех кто тебч забанил. Сыкономиш много времени и нервов.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху