может ли сканер быть полностью написан на javascript? - PullRequest
3 голосов
/ 18 апреля 2010

Мне было интересно - может ли сканер быть полностью написан на javascript? Таким образом, сканер вызывается только тогда, когда пользователю нужна информация, и все запускается с компьютера отдельного пользователя.

если сканер написан на стороне сервера - разве это не рискует заблокировать IP-адрес?

Ответы [ 3 ]

2 голосов
/ 18 апреля 2010

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

Что касается деталей, ничто не мешает написать сканер в Javascript. Однако не во встроенном в браузер javascript, по крайней мере, без прокси на стороне сервера из-за политики перекрестного происхождения.

2 голосов
/ 26 июля 2010

Существуют способы решения междоменной проблемы. Ищите «Access-Control-Allow-Origin», и вы увидите, как.

Самый простой способ реализовать такой сканер - написать аддон (firefox) или расширение (chrome), а затем внедрить код JavaScript в посещенную страницу. Таким образом, вы увидите то же самое, что и автор документа. Вы можете просто вызвать document, body.innerText, а затем опубликовать контент на своем сервере для индексации.

У меня сам работает такой сканер, с несколькими браузерами на разных ip-адресах.

2 голосов
/ 18 апреля 2010

Можно написать сканер в javascript, используя, например, Node.JS . Тем не менее, вы, вероятно, не сможете написать один в браузере пользователя. Это потому что:

  • Модель безопасности браузера ограничивает доступ javascript только к вашему собственному домену, поэтому вы можете индексировать только свой собственный сайт.
  • Каждый пользователь должен будет повторно сканировать весь ваш сайт каждый раз, что означает много времени (минуты, часы или даже дни, в зависимости от размера сайта), затраченного на сканирование, прежде чем пользователь сможет ответить на запрос, а также много использования полосы пропускания, потому что это умножается на всю вашу базу пользователей. Не говоря уже о том, что браузер пользователя может не дать вашему JS достаточно места для индекса.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...