2012-04-20 3 views
2

Tout d'abord, je ne cherche pas de code, juste une simple discussion sur les approches concernant ce que dit le sujet. Je me demandais récemment comment vraiment la meilleure façon de détecter (aussi vite que possible) les changements aux pages du site Web, en supposant que j'ai 100K sites Web, chacun a un nombre inconnu de pages, un crawler doit vraiment visiter chacun et chacun d'entre eux une fois de temps en temps?Mise à jour des algorithmes de détection de page Web

Répondre

1

À moins qu'ils aient des flux RSS (que vous auriez encore besoin de tirer pour voir s'ils ont changé), il n'est vraiment pas nécessaire de savoir quand le site a changé, sauf en y allant et en vérifiant. Cependant, vous pouvez faire des choses intelligentes pour être plus efficace. Après avoir vérifié sur le site pendant un certain temps, vous pouvez construire un modèle de prédiction de quand ils ont tendance à mettre à jour. Par exemple: ce site d'actualités est mis à jour toutes les 2-3 heures mais ce blog ne fait qu'un post par semaine. Cela peut vous éviter de nombreuses vérifications, car la plupart des pages ne sont pas mises à jour régulièrement. Google fait cela pour aider à tirer. Un algorithme simple qui fonctionnera pour cela (selon la façon dont avant-garde dont vous avez besoin de vos nouvelles pour être) est la suite de ma propre conception basée sur la recherche binaire:

Start each site off with a time interval ~ 1 day 
Visit the sites when that time hits and check changes 
if something has changed 
    halve the time for that site 
else 
    double the time for that site 
If after many iterations you find it hovering around 2-3 numbers 
    fix the time on the greater of the numbers 

Maintenant, c'est un algorithme simple pour trouver qui fois Vous avez raison de vérifier, mais vous pouvez probablement faire quelque chose de plus efficace si vous analysez le texte et voyez des modèles dans les moments où les mises à jour ont été effectivement publiées.

Questions connexes