Как я могу добавить Google-подобный повторный просмотр в моем приложении (веб или консоль) - PullRequest
5 голосов
/ 27 января 2012

Как сделать так, чтобы в моем приложении (в Интернете или на консоли) было повторное сканирование в стиле Google.Мне нужно перечитать только те страницы, которые обновляются после определенной даты.

Заголовок LastModified в System.Net.WebResponse дает только текущую дату сервера.Например, если я скачал одну страницу с HTTPWebRequest 27 января 2012 года и проверил заголовок даты LastModified, он показывает текущее время сервера, когда была обработана страница.В данном случае это только 27 января 2012 года.

Кто-нибудь может предложить какие-либо другие методы?

1 Ответ

7 голосов
/ 01 февраля 2012

Во-первых, здесь необходимо отметить, что то, что вы пытаетесь сделать, очень сложно, и есть множество исследовательских работ, которые пытаются решить эту проблему (я дам вам ссылки на некоторые из них немногопотом).Невозможно увидеть, изменился ли сайт, не просматривая его, хотя у вас могут быть такие ярлыки, как проверка длины содержимого из заголовка ответа без загрузки остальной части страницы.Это позволит вашей системе сэкономить на трафике, но не решит вашу проблему действительно полезным способом.

Во-вторых, поскольку вы обеспокоены содержанием, поле заголовка Last-Modified не будеточень полезно для вас, и я бы даже сказал, что это будет бесполезно.

И в-третьих, то, что вы описываете, имеет несколько противоречивые требования, потому что вы заинтересованы только в сканированиистраницы, которые обновили контент, и это не совсем то, как Google делает вещи (тем не менее, вы хотите сканировать, как в Google).Сканирование Google направлено на предоставление самого свежего контента для наиболее часто посещаемых / посещаемых веб-сайтов.Например: Google очень мало интересуется частым сканированием веб-сайта, который обновляет свое содержание два раза в день, когда на этом сайте 10 посетителей в день, вместо этого Google больше заинтересован в сканировании веб-сайта, который получает 10 миллионов посетителей в день, даже если его контент обновляется.менее часто.Также может быть верно, что веб-сайты, которые часто обновляют свой контент, также имеют много посетителей, но с точки зрения Google это не совсем актуально.


Если вам нужно открывать новые сайты (покрытие) и нав то же время, когда вы хотите получить последний контент сайтов, о которых вы знаете (свежесть), у вас возникают противоречивые цели (что справедливо для большинства сканеров, даже для Google).Обычно в итоге получается, что когда у вас больше освещения, у вас меньше свежести, а если у вас больше свежести, то у вас меньше освещения.Если вы заинтересованы в балансировке обоих, я предлагаю вам прочитать следующие статьи:

Краткое изложение идеиВы должны сканировать веб-сайт несколько раз (возможно, несколько сотен раз), чтобы вы могли составить хорошую оценку его истории.Если у вас есть хороший набор исторических показателей, вы используете прогнозную модель для интерполяции, когда веб-сайт снова изменится, и вы планируете сканирование на некоторое время после ожидаемого изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...