- 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, однако задача сосредоточиться на свежести довольно сложна .Возможно, вам придется написать свой собственный плагин , чтобы получить более тонкую направленность свежести.
Надеюсь, это поможет:).