🐧 Как проверить категории сразу нескольких сайтов? |

🐧 Как проверить категории сразу нескольких сайтов?

Статьи

Вы специалист по безопасности или аналитик, которому нужно быстро классифицировать большой список веб-сайтов?

А может быть, вы просто хотите проанализировать несколько доменов для собственного исследования.

Ручная проверка категории каждого сайта в инструменте Symantec Site Review может быть очень утомительной и отнимать много времени.

Чтобы помочь в этом, мы создали удобный Python-скрипт, который может автоматизировать процесс категоризации сайтов в массовом порядке с помощью базы данных Symantec.

В этом руководстве мы объясним, что такое инструмент Site Review, как работает наш скрипт, что требуется для его запуска и пошаговые инструкции, чтобы начать массово классифицировать веб-сайты.

Бесплатный инструмент Symantec Site Review позволяет вручную проверить категорию URL-адреса любого веб-сайта по их базе данных.

Он позволяет выявить более 60 типов контента, таких как азартные игры, разжигание ненависти, ботнеты, вредоносное ПО и т. д.

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

Краткая справка об инструменте Symantec Site Review Tool

Инструмент очень полезен, но имеет некоторые ограничения по возможностям.

Он предназначен для ручных разовых проверок, а не для массовых автоматических отправок.

Отправка более 500 URL-адресов подряд может привести к срабатыванию CAPTCHA, которые блокируют дальнейшие автоматические запросы.

Мы настоятельно рекомендуем избегать автоматической отправки тысяч URL-адресов за короткий промежуток времени.

В этом случае ресурсы Site Review будут использоваться не по назначению.

Вместо этого используйте наш скрипт для категоризации сайтов партиями менее 100 URL.

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

При разумном использовании инструмент может принести пользу вашему рабочему процессу категоризации веб-сайтов.

Но помните о его ограничениях и не злоупотребляйте бесплатным ресурсом.

О скрипте массовой категоризации веб-сайтов domain_categorization.py

Чтобы помочь автоматизировать инструмент Symantec Site Review для массовых проверок, есть скрипт на языке Python под названием domain_categorization.py.

arudmaestro/SymanticSiteReview: This is a Python script helps automate the bulk domain or URL categorization. (github.com)

# Import Selenium webdriver and support classes

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

# Open input file and read domains into list

with open('domains.txt') as f:

    domains = f.read().splitlines()

# Open output file for writing results

with open('results.txt', 'w') as out_file:

    # Open captcha file for writing CAPTCHA detections

    with open('captcha.txt', 'a') as captcha_file:

        # Iterate through each domain

        for domain in domains:

            # Launch headless Chrome browser

            browser = webdriver.Chrome()

            # Navigate to the website

            browser.get("https://sitereview.bluecoat.com/#/")

    # Set default name variable

            name = domain

            # Find search box, input domain, hit Enter

            search_box = browser.find_element(By.ID, "txtUrl")

            search_box.clear()

            search_box.send_keys(domain)

            search_box.send_keys(Keys.RETURN)

            # Check for CAPTCHA

            try:

                captcha = WebDriverWait(browser, 2).until(EC.presence_of_element_located((By.ID, "imgCaptcha")))

                captcha_message = f"Captcha detected for domain {domain}. Stopping execution.\n"

                print(captcha_message)

                captcha_file.write(captcha_message)

                browser.quit()

                continue

            except:

                pass  # No captcha found, continue execution

            # Try getting details of a categorized domain

            try:

                elm1 = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.ID, "lnkRatedSite")))

                elm2 = browser.find_element(By.ID, "txtUrlShortener")

                # Check for URL shortener page

                if elm2:

                    categories = "The URL you entered is a URL shortening service"

                else:

                    # Extract name and categories from elements

                    name = elm1.text

                    categories = ",".join([x.text for x in browser.find_elements(By.CLASS_NAME, "clickable-category")])

            except:

                # If error, try checking for uncategorized domain page

                try:

                    elm = browser.find_element(By.CLASS_NAME, "url-display")

                    if "ng-star-inserted" in elm.get_attribute("class"):

                        categories = ",".join([x.text for x in browser.find_elements(By.CLASS_NAME, "clickable-category")])

                    else:

                        categories = "This_URL_has_not_yet_been_rated"

                except:

                    # If no match, set default category text

                    categories = "This_URL_has_not_yet_been_rated"

            # Write domain results to output file

            out_file.write(f"{domain},{categories}\n")

            # Close browser instance

            browser.quit()

print("Scraping complete, output saved in results.txt")

Он обрабатывает отправку нескольких URL-адресов на сайт Site Review, анализирует результаты категоризации и компилирует их в удобный для анализа текстовый файл.

Ниже приведен общий обзор того, как это работает:

Скрипт начинается с открытия списка URL-адресов, которые вы хотите проверить, из файла domains.txt.

Затем он запускает браузер Chrome с помощью Selenium, программно переходя на веб-страницу инструмента Site Review.

Он берет первый URL-адрес из списка, вводит его в поле поиска на сайте Site Review и нажимает клавишу Enter, чтобы отправить сайт на категоризацию.

По мере обработки каждого URL-адреса он проверяет наличие всплывающих окон CAPTCHA и обрабатывает их соответствующим образом.

Как только URL-адрес классифицирован, скрипт извлекает идентифицированные категории и доменное имя в переменные.

Вместе с исходным URL он записывает все в выходной файл results.txt.

Этот процесс извлечения повторяется для каждого URL из входного списка.

Все URL-адреса, прошедшие CAPTCHA, записываются отдельно в файл captcha.txt для последующей ручной перепроверки.

В целом это автоматизированное взаимодействие с сайтом Site Review позволяет вводить массовый список URL-адресов и эффективно получать категории сайтов, разобранные в текстовом файле.

Это экономит огромное количество времени на ручной анализ.

Вот его ключевые особенности:

  • Массовая обработка URL-адресов: Разбирает текстовый файл с URL-адресами и проверяет категории для каждого из них через сайт инструмента Site Review.
  • Обработка CAPTCHA: Автоматически обнаруживает и обрабатывает CAPTCHA, если они появляются, и регистрирует все заблокированные URL.
  • Ведение журнала результатов: Сохраняет данные о категоризированных URL в файле результатов .txt для удобства анализа. Также регистрируются все случаи появления CAPTCHA.

В целом, он делает проверку сотен или тысяч сайтов быстрым и безболезненным процессом!

Необходимые условия для запуска скрипта

Перед запуском скрипта domain_categorization.py для категоризации веб-сайтов вам необходимо установить:

Окружение Python: Для выполнения скрипта .py необходимо, чтобы на вашем компьютере был установлен Python 3.x.

Загрузите последнюю версию 3.x, если у вас ее еще нет, с сайта https://www.python.org/downloads/.

Модуль Selenium: Скрипт импортирует Selenium для автоматизации взаимодействия с браузером.

Установите его через pip, запустив:

pip install selenium

ChromeDriver: ChromeDriver позволяет Selenium взаимодействовать с Google Chrome.

Загрузите драйвер с сайта https://chromedriver.chromium.org/downloads и добавьте его исполняемый файл в системный PATH.

Убедитесь, что вы взяли версию ChromeDriver, соответствующую версии установленного браузера Chrome.

Входной файл: подготовьте список URL-адресов в обычном текстовом файле domains.txt.

Поместите в этот файл по одному URL в строке, чтобы скрипт мог перебирать их.

Как только Python, Selenium, ChromeDriver и список входных URL будут готовы, вы можете приступать к запуску скрипта проверки категории сайта!

Сообщите нам, если какие-либо предварительные условия неясны.

Пошаговое руководство по проверке веб-сайтов в массовом порядке

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

Следуйте этому упорядоченному процессу:

Заполните входной файл

Добавьте полные URL-адреса, которые вы хотите проверить, по одному в каждую строку, в текстовый файл domains.txt.

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

Выполните скрипт

Откройте терминал или командную строку, перейдите в каталог скрипта и запустите его:

python domain_categorization.py

Система запустит автоматизацию браузера Selenium, чтобы начать проверку каждого URL-адреса с помощью инструмента Symantec Site Review.

Просмотр результатов

По мере выполнения скрипта результаты категоризации URL будут построчно компилироваться в файл results.txt.

Любые CAPTCHA, обнаруженные в середине процесса, будут занесены в файл captcha.txt для последующего повторения.

см. также:

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий