Skip to content

Рекурсивный краулер для извлечения ссылок

Notifications You must be signed in to change notification settings

popperony/Python-crawler-domain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crawler domain on Python

Build Status

Описание:

Краулер, сканирующий заданный url и извлекающий ссылки, затем рекурсивно следующий по ранее извлеченным ссылкам. Скрипт собирает простые ссылки не только со всего сайта, но так же извлекает ссылки, выполняя javascript с помощью библиотеки selenium. Входной параметр -m указывает количество прохождений вглубь по извлеченным ссылкам, по умолчанию 5. Все найденные ссылки храняться в файле txt в папке output. Протестировано на Ubuntu 20.04 и Windows 10 20H2

Важно Скрипт имеет вычислительную сложность O(n), что при больших значениях -m увеличивает время работы. Так же при сканировании крупных сайтов, может быть затрачено больше времени.

Стек:

Установка

Создаем виртальную среду:

python -m venv env

Активируем виртуальную среду:

# для win 10
.\env\Scripts\activate    
# для Linux
source /env/bit/activate

Инсталлируем зависимости:

pip install -r requirements.txt

Далее необходимо в файле parser_link_js.py в переменной osdriver указать вебдрайвер в зависимости от операционной системы

# для Linux
osdriver = r'./drivers/geckodriver'
# для win10 
osdriver = r'./drivers/geckodriver.exe'

Затем активируем сам скрипт, где https://example.com url для работы краулера, а параметр m указывает на количество :

python main.py https://example.com -m 10

После запуска краулера в командной строке синим цветом будут отображаться внешние ссылки, зеленым - внутренние. Красным цветом будут выведены ошибки произошедшие при парсинге. По завершению работы выведется итоговая информация по сканированию.

Приятного использования!

About

Рекурсивный краулер для извлечения ссылок

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages