Парсер SEO-данныхРазработка и доработка

Парсер SEO-данных на Python: title, description, H1, код ответа и canonical страниц сайта в таблице

Обычно готово за 15 минутДоработки включеныКонтроль качества
Пакеты
Защита оплатыПодробнее
  • Доработки в рамках пакета бесплатны.
  • Если вы не ответите в течение 3 дней после сдачи, работа будет принята автоматически.

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

Парсер SEO-данных на Python: title, description, H1, код ответа и canonical страниц сайта в таблице

Пример результата

Пример по пакету «Стандарт»

Парсер каталога поставщика садового инструмента в Excel

Как выглядит результат

АртикулНазваниеЦенаВ наличииВесФото
GT-1042Секатор, 20 мм18,90Да0,24 кг…/gt-1042.jpg
GT-1187Складная пила, 210 мм24,50Да0,31 кг…/gt-1187.jpg
GT-2210Ножницы для кустов, волнистое лезвие39,00Нет1,10 кг…/gt-2210.jpg
GT-3305Совок, нержавеющая сталь9,80Да0,18 кг…/gt-3305.jpg
GT-4120Садовый шланг 25 м, 1/2"42,00Да2,90 кг…/gt-4120.jpg

В файле из примера 1236 товаров с 52 страниц списка.

Фрагмент кода

def product_links(list_url: str) -> Iterator[str]:
    """Ссылки на карточки со всех страниц списка, по кнопке «Дальше»."""
    url: str | None = list_url
    while url:
        page = fetch(url)
        for card in page.select("div.product-card a.title"):
            yield urljoin(url, card["href"])
        next_link = page.select_one("a.pagination-next")
        url = urljoin(url, next_link["href"]) if next_link else None


def fetch(url: str) -> BeautifulSoup:
    """Одна открытая страница, без спешки: пауза между запросами и несколько попыток при ошибке."""
    for attempt in range(3):
        time.sleep(settings.delay_seconds)
        response = session.get(url, timeout=30)
        if response.status_code == 200:
            return BeautifulSoup(response.text, "html.parser")
        log.warning("%s ответил %s, попытка %d из 3", url, response.status_code, attempt + 1)
    raise ScraperError(f"{url} не открылся за 3 попытки")

Файлы: ZIP-архив с scraper.py, settings.ini (стартовая страница, пауза между запросами, имя файла), requirements.txt и README: как установить и запустить. Парсер читает только открытые страницы, одну раз в 2 секунды, и сначала проверяет robots.txt сайта. Клиент запускает его на своём компьютере.

Клиент: интернет-магазин товаров для сада, который перепродаёт инструмент поставщика. У поставщика открытый каталог на сайте, но нет прайс-листа файлом. Задача: пройти по страницам списка, открыть каждую карточку товара и сохранить в Excel артикул, название, цену, наличие, вес и ссылку на главное фото, чтобы раз в неделю сравнивать цены.

Клиент и все данные вымышлены.

Об услуге

Перед переездом сайта или SEO-проверкой парсер пройдёт по страницам и сохранит строку для каждой: адрес, код ответа, title и meta description с их длиной, H1, число H2, canonical, тег noindex, число слов, картинки без alt и число внутренних ссылок. Адреса он берёт из карты сайта, со страниц категорий или из вашего списка. Используйте его на своём сайте или на открытом сайте конкурента. Пришлите адрес сайта, несколько страниц, сохранённых из браузера, и нужные поля. Вы получите код на Python, файл настроек и README и запустите его на своём компьютере. Он собирает факты, не исправляет сайт и не обещает позиций в поиске. Парсер читает только открытые страницы в спокойном темпе, не входит в аккаунты и не обходит капчи и защиту. Разрешают ли это правила сайта, решаете вы; после смены вёрстки нужна доработка.

Что входит

  • Что вы получитеАрхив ZIP с кодом на Python, файлом настроек и README с пошаговой инструкцией; код также виден на странице заказа.
  • Теги и их длинаTitle и description с числом символов
  • Коды ответаВидно битые страницы и редиректы
  • Картинки без altСчитает картинки без текста alt
  • Из карты сайта или спискаАдреса из карты сайта, категорий или вашего файла
  • Спокойный темпПауза между страницами, задаётся в настройках

Порядок работы

  1. 1
    СайтВы даёте сайт, источник адресов и сохранённые страницы
  2. 2
    ПарсерМы пишем код и инструкцию по запуску
  3. 3
    ЗапускВы запускаете его и проверяете несколько строк в браузере
  4. 4
    ПравкиВы просите правки в рамках пакета и присылаете текст ошибки, если она есть

Что нужно от вас

Адрес сайта и откуда парсеру брать адреса: из карты сайта, со страниц категорий или из вашего списка. Примерно сколько всего страниц. Нужные поля, например адрес, код ответа, title, description, H1, canonical, noindex, число слов, картинки без alt. Две-три страницы разных типов, сохранённые из браузера («Файл» > «Сохранить страницу как»). CSV или Excel.

В брифе мы спросим:

  • Какой сайт?
  • Откуда брать адреса
  • Нужные поля
  • Сколько примерно страниц?

Сравнение пакетов

ПакетыЭкономСтраницы по вашему списку21 $СтандартВесь сайт по его спискам41 $БизнесДо 3 сайтов74 $
Срок1 день2 дня3 дня
Доработки123
Сайтов11до 3
Типов страниц12 (список страниц и страница)до 3
Полейдо 10до 25до 25 на каждом
Проход по страницам спискаНетДаДа
Файл результатовCSVExcel или CSVExcel, CSV или JSON
Без дублей, продолжение с места остановкиНетНетДа
Заказать ЭкономЗаказать СтандартЗаказать Бизнес

Защита оплаты

Вы оплачиваете заказ сразу, но деньги переходят сервису только за принятую работу.

  • Фиксированная ценаЦена пакета не меняется после оплаты.
  • Деньги резервируютсяПри оплате сумма только резервируется. Сервису она переходит, когда вы примете работу.
  • Проверка перед сдачейКаждый результат проходит проверку качества, прежде чем попасть к вам, и вы видите его на странице заказа до приёмки.
  • Бесплатные доработкиПросите изменения в рамках брифа столько раз, сколько предусмотрено пакетом.
  • Приёмка через 3 дняЕсли в течение 3 дней после сдачи вы не примете работу и не попросите изменений, она будет принята автоматически. Если после сдачи вы напишете в чат заказа, заказ подождёт; ответив, мы можем начать отсчёт 3 дней заново и сообщим об этом в чате.
  • Переделка или полный возвратЕсли результат не соответствует брифу и доработки не помогли или срок превышен больше чем вдвое, напишите в чат заказа: мы переделаем работу или полностью вернём деньги.
Как это работает →

Вопросы и ответы

Это полный SEO-аудит?

Нет. Он собирает факты по каждой странице в одну таблицу, а выводы и исправления за вами или вашим разработчиком.

Может ли он проверять мои позиции в Google?

Нет. Google, Amazon, LinkedIn и соцсети он не читает: их правила это запрещают. Позиции есть в вашей панели вебмастера, а парсер в аккаунты не входит.

Насколько большой сайт он пройдёт?

Тысячи страниц — нормально, но в спокойном темпе это займёт часы. Premium продолжает с места остановки, поэтому долгий запуск можно разбить на части.

Прочитает ли он тестовую копию сайта за паролем?

Нет. Он читает только открытые страницы и никогда не входит в аккаунты. Открытая тестовая копия без пароля подойдёт, а пароли в код не попадают.

Не нашли ответ?

Пакеты