Ежедневно проверяйте все веб-страницы из списка веб-сайтов
У гостя есть сайт А, есть партнерская программа.
Партнерские сайты B имеют ссылки на A.
Мне нужно с определенной частотой (два раза в день) проверять все веб-страницы всех партнерских сайтов (5000 сайтов) и извлекать все ссылки с B на A. Затем я должен проверить с помощью регулярного выражения, построен ли URL определенным образом.
Я мог бы легко сделать это с помощью PHP, но есть некоторые серьезные проблемы, с которыми, возможно, уже сталкивалось стороннее решение.
- Я хочу использовать Bandwith с использованием
- Я хочу, чтобы задача была выполнена как можно быстрее
- Веб-страницы для проверки могут быть любителями веб-страниц, полных ошибок и несовместимых HTML
- Я хочу управлять только теми веб-страницами, которые были изменены с момента последней проверки их
- процесс должен быть автоматизирован (cron? или альтернативы?)
- ...
- (не стесняйтесь расширять этот список)
Но я не хочу создавать сверхпопулярный, мега-ультрасовременный инструмент, который делает все возможное и еще больше...
Я бы хотел иметь маленькое и легкое умное решение.
Как бы вы решили такую задачу?
1 ответ
- I want to leverage bandwith usage - I want the task to be done the fastest possible - The webpages to check could amateurs web pages full of errors and inconsistent html - I'd like to manage only webpages that are changed since the last time I checked them the process has to be automated (cron? or alternatives?) - (feel free to expand this list)
Это довольно здоровенные требования.
But I don't want to build a *super-duper-mega-ultra-sophisticated-that-does-everithing-and-more-tool*...
О, хорошо, тогда никаких проблем... теперь, когда вы сказали это, я думаю, мы сузили это до супер-пупер-мега-ультрасовременного, который делает все возможное и еще больше инструмента, который НЕ является Супер-супер-мега-ультрасовременный инструмент, который делает все, что угодно, и еще больше инструмента.
Помимо шуток, не так много инструментов, способных сделать то, что вы описали. Тем не менее, есть несколько довольно надежных инструментов, которые могут предоставить вам хорошую основу для достижения ваших целей. Вы упомянули PHP, но я думаю, что у вас будет больше успеха в мире Java. В частности, я бы порекомендовал вам проверить Nutch.
- Это позволяет вам контролировать использование пропускной способности через параметры конфигурации.
- Это один из самых быстрых сканеров с открытым исходным кодом (если не самый быстрый).
- Это хорошо для чтения плохого HTML (насколько это возможно).
- Nutch довольно хорош в эффективном отборе страниц, которые нужно сканировать, потому что он реализует алгоритм OPIC, однако задача сосредоточиться на свежести довольно сложна. Возможно, вам придется написать свой собственный плагин, чтобы получить более тонкую направленность свежести.
Надеюсь, это поможет:).