Gwenson-robot, или робот-паук
Это распределённый робот-паук, разработанный на языке JAVA. Он использует список Redis для равномерного сканирования цели и реализует удаление дублирующихся URL и контента. Удаление дублирующегося контента происходит следующим образом: сначала используется word для сегментации слов, затем simhash алгоритм для получения SimHashCode значения. После этого с помощью принципа «ящика» определяется расстояние Хэмминга, что позволяет определить степень сходства. Обратите внимание: используется JDK1.8.
[TOC]
Gwenson, персональный поисковый робот
spring boot, spring data redis, jsoup, word, mybatis, spring data elasticsearch, spring mvc, bootstrap, JSP и другие.
common └─src └─main └─java └─com └─gwenson └─common ├─dao │ └─redis ├─model └─utils
search-robot └─src └─main ├─java │ └─com │ └─gwenson │ ├─controller │ ├─listener │ └─robot │ ├─cahce │ ├─config │ ├─page │ │ ├─dto │ │ ├─redis │ │ │ └─dao │ │ ├─rule │ │ │ ├─dao │ │ │ └─service │ │ │ └─impl │ │ └─service │ │ └─impl │ ├─proterty │ │ ├─model │ │ ├─redis │ │ │ └─dao └─resources ├─application.properties // запуск конфигурации ├─application-prod.properties // производственная среда ├─application-dev.properties // тестовая среда ├─blacklist.txt // чёрный список ├─whitelist.txt // белый список └─logback.xml // конфигурация журнала logback
Файлы в папке src/main/resouces модуля search-robot:
# порт прослушивания проекта
server.port=8081
# путь проекта
# server.context-path=/
# ссылка на конфигурацию среды, prod — производство, dev — тестирование
spring.profiles.active=prod
# класс слушателя после запуска контейнера
context.listener.classes=com.gwenson.listener.ApplicationStartup
# включить прокси IP, true — включить, false — отключить
gwensong.robot.property.start=false
# включить автоматическое сканирование прокси IP по расписанию, true — включить, false — отключить
gwensong.robot.property.autoScheduled=false
# пользовательский список путей прокси IP
# gwensong.robot.property.userDefinedPath=D:/gwenson/property.txt
gwensong.robot.property.userDefinedPath=
# количество таблиц для генерации tableId
database.table.num=64
# установить приоритет сканирования робота, scope: широкий (wide), глубокий (depth)
gwensong.robot.search.scope=depth
# настроить белый список
gwensong.robot.search.whitelistPath=/whitelist.txt
# настроить чёрный список
gwensong.robot.search.blacklistPath=/blacklist.txt
# имя пользователя контроллера web
gwenson.robot.user.username=root
# пароль контроллера web
gwenson.robot.user.password=123456
profile = prod_envrimont
# настройка кодировки tomcat, по умолчанию UTF-8
server.tomcat.uri-encoding=UTF-8
# журнал доступа tomcat
server.tomcat.accesslog.directory=/gwenson/logs/search-robot/tomcat.log
# REDIS (RedisProperties)
# имя базы данных
spring.redis.database=0
# адрес сервера хоста redis
spring.redis.host=127.0.0.1
# пароль сервера redis
spring.redis.password=
# порт подключения redis
spring.redis.port=6379
# настройки пула ...
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.pool.max-active=-1
spring.redis.pool.max-wait=-1
spring.redis.timeout=100000
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )