Comment puis-je apporter une récupération à la Google dans mon application (Web ou console)

Comment puis-je apporter une récupération à la Google dans mon application (Web ou console). J’ai seulement besoin de rediffuser les pages mises à jour après une date donnée.

L’en-tête LastModified dans System.Net.WebResponse donne uniquement la date du serveur. Par exemple, si j’ai téléchargé une page avec HTTPWebRequest le 27 janvier 2012 et que j’ai vérifié l’en-tête pour la date LastModified, il indique l’heure actuelle du serveur lorsque la page a été servie. Dans ce cas, nous sums le 27 janvier 2012 seulement.

Quelqu’un peut-il suggérer d’autres méthodes?

Tout d’abord, il est important de souligner que ce que vous essayez de faire est très difficile et qu’il existe de nombreux documents de recherche qui tentent de le traiter (je vous donnerai des liens vers certains d’entre eux un peu plus tard). Il n’y a aucun moyen de savoir si un site a été modifié sans l’explorer, mais vous pouvez utiliser des raccourcis tels que la vérification de la longueur du contenu à partir de l’en-tête de la réponse sans télécharger le rest de la page. Cela permettra à votre système d’économiser du trafic, mais cela ne résoudra pas votre problème d’une manière vraiment utile.

Deuxièmement, comme le contenu vous préoccupe, le champ d’en Last-Modified tête Last-Modified ne vous sera pas très utile et j’irais même jusqu’à dire qu’il ne le sera pas du tout.

Et troisièmement, ce que vous décrivez présente des exigences quelque peu contradictoires, car vous souhaitez uniquement explorer les pages dont le contenu a été mis à jour et que Google ne fait pas exactement les choses (pour le moment, vous voulez une exploration de type Google). L’parsing de Google vise à fournir le contenu le plus récent aux sites Web les plus consultés ou les plus visités. Par exemple: Google s’intéresse peu à l’exploration fréquente d’un site Web qui met à jour son contenu deux fois par jour lorsque ce site Web reçoit 10 visiteurs par jour. Au lieu de cela, Google s’intéresse davantage à l’exploration d’un site Web qui reçoit 10 millions de visiteurs par jour, même si son contenu est mis à jour. moins fréquemment. Il se peut également que les sites Web qui mettent à jour leur contenu aient souvent beaucoup de visiteurs, mais du sharepoint vue de Google, ce n’est pas tout à fait pertinent.


Si vous devez découvrir de nouveaux sites Web (couverture) et que vous souhaitez en même temps disposer du dernier contenu des sites que vous connaissez (actualité), vous avez des objectives contradictoires (ce qui est vrai pour la plupart des robots, même Google). Habituellement, ce qui se produit est que lorsque vous avez plus de couverture, vous avez moins de fraîcheur et si vous avez plus de fraîcheur, vous avez moins de couverture. Si vous souhaitez équilibrer les deux, je vous suggère de lire les articles suivants:

  • Web Crawler: Un aperçu
  • Après cela, je vous recommanderais de lire Calcul adaptatif de l’importance de la page en ligne
  • Et enfin: jusqu’à 6 milliards de pages et plus

Le résumé de l’idée est que vous devez explorer un site Web à plusieurs resockets (peut-être plusieurs centaines de fois) pour que vous puissiez construire une bonne mesure de son histoire. Une fois que vous disposez d’un bon ensemble de mesures historiques, vous utilisez un modèle prédictif pour interpoler quand le site Web changera à nouveau et vous planifierez une parsing pendant un certain temps après le changement attendu.