Навигация по сайту

Популярные статьи

Увлекательный поход по Крыму

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

Отдых в Карпатах

Активный отдых - это очень важная часть жизни абсолютно любого человека, который способен обогащать и закалять человека как напрямую физически, улучшая форму, так и духовно, психологически, морально,

Велика дупа SEO: чи ваш сайт занадто об'ємний для сканування з Screaming Frog?

  1. Як боротися з цими величезними веб-сайтами?
  2. Використання PHPCrawl в якості бази для сканування програмного забезпечення Big Ass

Багато технічні (SEO) інтернет-маркетологи знайомі з приємним програмним забезпеченням Кричала жаба . Функціональні можливості варіюються від перевірки дублікатів сторінок, назв і метаописів до розслідування технічних питань щодо стану заголовка HTTP, конструкцій з перенаправленнями тощо. щодня.

Але є одна велика проблема. Screaming Frog це програма, яка працює в Windows, локально. Це означає, що програмне забезпечення залежить від меж вашого ПК або апаратного забезпечення ноутбука. Під час сканування певного веб-сайту Screaming Frog зберігає певні точки даних у пам'яті оперативної пам'яті. Залежно від розміру доступної пам'яті існує обмеження кількості сторінок, файлів або URL-адрес, які програма може впоратися. Кожен може легко спробувати визначити межі, починаючи сканувати сайт, як Amazon.com або Ebay.com. Ці веб-сайти мають мільйони унікальних сторінок, і я можу запевнити вас, що середній комп'ютер не отримає так далеко в ці веб-сайти. У результаті з'явиться таке повідомлення:

Інша проблема, яку я маю з Screaming Frog, це те, що ви не можете сканувати кілька веб-сайтів за допомогою однієї команди. Це корисно, наприклад, для аналізу мереж зв'язку. Після того, як ви визначили певних учасників у мережі блогів, це заощадить вам багато часу, коли ви зможете ввести список з блогами та повернути всі зовнішні пов'язані веб-сайти.

Як боротися з цими величезними веб-сайтами?

Оскільки я працюю на веб-сайтах більших, ніж середні, з точки зору індексованих сторінок і відвідувачів / день, мені довелося знайти рішення для цієї проблеми. Є деякі комерційні рішення для нього, один з них - це Великобританія Deepcrawl . Вони мали таку ж проблему, як і я, і зробили для нього комерційне рішення. Проблема, яку я маю з комерційними рішеннями, полягає в тому, що ви зобов'язані обмежувати пакет програмного забезпечення, який ви купуєте.

Це змусило мене подумати: «Як я можу побудувати масштабоване рішення для сканування веб-сайтів з більш ніж 1.000.000 URL-адрес?» Є багато доступних систем сканування з відкритим кодом, з яких лише деякі дійсно підходять для роботи. Залежно від мови, яку ви можете запрограмувати, ви можете ознайомитися з такими параметрами:

Відмова від відповідальності: знайте про те, що ви можете бути заблоковані сервером або збити веб-сайт, перебираючи його занадто агресивно.

Використання PHPCrawl в якості бази для сканування програмного забезпечення Big Ass

На жаль, я можу лише кодувати PHP і SQL, тому найкращим варіантом для мене було бібліотека PHPCrawl. Насправді це дійсно повна система сканування в Інтернеті, яку можна легко налаштувати на основі ваших потреб. Я знаю, що рішення, засновані на мовах програмування на зразок Java або C ++, більш підходять для виконання завдань швидкого сканування, особливо через те, що ви можете прискорити процес сканування, запустивши декілька екземплярів програмного забезпечення та скористайтеся багатоядерними процесорами. PHPCrawl може запускати декілька екземплярів з командного рядка, але для цього не підходить кожен сервер. Ви повинні перевірити необхідні специфікації для цього на їхньому сайті.

Тому, як тільки ви встановили цю бібліотеку на локальному або зовнішньому сервері, вам потрібно налаштувати базу даних для зберігання інформації. Я думаю, що найпростіший спосіб зберегти ваші дані в базі даних MySQL. Я не збираюся вникати в деталі багато, тому що я очікую, що люди, які хочуть працювати з таким сканером, мають достатньо навичок програмування, щоб розвивати їх на системних (frontend і backend базах даних), виходячи з їхніх потреб.

Ти можеш завантажити невеликий приклад PHP + MySQL (ZIP-файл), який можна використовувати для сканування певного домену або масиву доменів для всіх внутрішніх і вихідних посилань. Дані зберігаються в базі даних MySQL. Я думаю, що це простий і зрозумілий приклад для початку.

Для великих сайтів система потребуватиме часу для отримання всіх URL-адрес. Ви можете легко прискорити процес, запустивши декілька екземплярів. Для отримання додаткової інформації про налаштування PHPCrawl виконайте процеси швидше, прочитайте інструкції на сайті . Якщо ви запускаєте декілька екземплярів, щоб прискорити процес, знайте про те, що сервери можуть блокувати ваш IP на основі великої кількості запитів на секунду, які ви робите. Щоб уникнути цього, ви можете створити проксі-систему, щоб кожен запит проходив через випадкову IP-адресу.

Вам потрібно переконатися, що ви використовуєте кешування баз даних, замість використання локальної пам'яті, інакше ви отримаєте ті ж проблеми, що і з кричущою жабою. Пам'ять оперативної пам'яті обмежена, бази даних не є. PHPCrawl може кешувати дані в базі даних SQLite. Просто додайте до сценарію один рядок коду: відвідайте веб-сторінку PHPCrawl прочитайте інструкцію .

Основна реалізація PHPCrawl починається з одного домену і сканує кожну знайдену URL-адресу. Також можна доручити сканеру сканувати лише певний домен. Використовуючи простий цикл, можна легко вставити масив доменів, щоб він міг перевіряти і аналізувати конкретні мережі.

Якщо у Вас виникли запитання щодо налаштування сканерів, не соромтеся відповісти на цей блог. Будь-яка допомога в обробці даних? Просто надішліть мені повідомлення електронною поштою [захищена електронною поштою] . Я також хотів би знати, як ви маєте справу з сайтами для сканування з більш ніж мільйон сторінок.

Як боротися з цими величезними веб-сайтами?
Як боротися з цими величезними веб-сайтами?
URL-адрес?
Будь-яка допомога в обробці даних?