Интеллектуальный поисковый робот, который может определять приоритеты источников на основе ключевых слов?

Я пытаюсь создать веб-сканер, который непрерывно сканирует Интернет в поисках веб-страниц, содержащих определенные ключевые слова. Для этого существует множество решений с открытым исходным кодом (Nutch, Scrapy и т. Д.), Но мне нужно интеллектуальное решение, которое может отдавать приоритет «богатым» источникам.

Я хочу, чтобы бот запускался с определенной страницы, например. http://www.dmoz.org, извлеките все ссылки и продолжите их очистку. Теперь, если страница содержит определенное ключевое слово, например. 'foo', он должен отправить этот URL в базу данных.

А теперь самое сложное. Если я создам и запустил такого бота, ему может пройти много времени, прежде чем паук найдет новые страницы, содержащие указанные ключевые слова, поскольку он сканирует всю сеть. Этот процесс был бы значительно быстрее, если бы паук мог определить, в каком домене он часто находит ключевые слова, чтобы их можно было сканировать чаще.

Есть ли для этого решение с открытым исходным кодом?

Пока смотрел Nutch и Scrapy. Nutch кажется лучшим вариантом для того, что мне нужно, но у меня нет опыта работы с Java, и я не могу найти какой-либо конкретной документации по этой проблеме.


person Tijmen    schedule 06.11.2012    source источник


Ответы (3)


Еще не пробовал, но я предполагаю, что вы можете сделать это в Nutch, контролируя, как вы оцениваете исходящие ссылки. Если ваша текущая страница содержит ваши ключевые слова, вы могли бы дать более высокий балл исходящим ссылкам для этой страницы.

Реализация подключаемого модуля, расширяющего ScoringFilter, приведена в http://sujitpal.blogspot.in/2012/01/nutchgora-scoring-and-indexing-plugins.html

person Hari    schedule 28.11.2012

Если вы хотите работать с решением на основе Java, вы можете взглянуть на Infant . Infant - это библиотека для сканирования веб-страниц. Это не проект с открытым исходным кодом, но он полностью бесплатен даже для коммерческого использования. У вас должна быть возможность написать свой собственный плагин для Infant, чтобы контролировать порядок, в котором Infant поддерживает свою очередь URL-адресов.

person Anonymous    schedule 05.01.2013

если вы все еще ищете что-то подобное, вы можете использовать одно из наших очень похожих программ с открытым исходным кодом, которое

Ссылка на Github

Он работает на основе контекстного механизма правил, где вы можете назначить любому ключевому слову или тексту одно значение от 0 до 9 в качестве веса, и когда он его проанализирует, вы сможете сканировать то, что вы хотите.

Он основан на ROR

MYSQL, MONGO и Ubuntu 14.04 с другими обычными драгоценными камнями, которыми вы можете управлять самостоятельно,

person Saransh Sharma    schedule 08.02.2015