Как экспортировать результаты краулера в электронную таблицу Excel
TL;DR
Экспорт результатов краулера в Excel требует нормализованной схемы строк перед конвертацией файла.
Выбирайте XLSX, когда вам нужны явные типы текста, несколько листов, фильтры и предсказуемое поведение таблицы.
Используйте CSV для простого обмена, но контролируйте кодировку, разделители, типы импорта и интерпретацию формул.
Сохраняйте исходные URL, время наблюдений, результаты задач и отсутствующие значения вместо того, чтобы экспортировать только извлеченный текст.
Получите каждую партию результатов перед тем, как объявить экспорт завершенным, и согласуйте поданные, принятые и отклоненные записи.
Nstdata Crawl поставляет готовые к LLM выходные данные страниц; генерация XLSX относится к вашему уровню экспорта, если текущий продукт явно не предоставляет этот формат.
Что включает в себя экспорт результатов краулера в Excel?
Экспорт результатов краулера в Excel включает в себя преобразование принятых записей краулера в стабильную таблицу и запись этой таблицы в совместимый с таблицами формат. Ответ на крауль может содержать текст страницы, ссылки, метаданные, информацию о задачах или ссылки на более крупные артефакты. Эти элементы нуждаются в целенаправленной модели строки, прежде чем станут полезной книгой.
Например, инвентаризация страниц может использовать одну строку на страницу. Набор данных о продукте может использовать одну строку на наблюдение за продуктом. Аудит ссылок требует одной строки на каждое ребро от источника к назначению. Помещение всех трех в одну неопределенную таблицу создает повторяющиеся значения и вводящие в заблуждение итоги.
Nstdata Crawl может предоставить одобренный слой сбора страниц. Этот учебник рассматривает генерацию Excel как трансформацию на downstream-этапе и не создает выходной формат xlsx Nstdata или несуществующую точку экспорта.
Следует ли вам экспортировать CSV или XLSX?
Выбирайте CSV для простого табличного обмена между системами и XLSX, когда потребителю нужны явные типы ячеек и функции книги. Расширение файла не является единственным отличием: интерпретация каждой ячейки импортером влияет на идентификаторы, даты и ненадежный текст из источника.
Попробуйте Nstproxy Crawl - Начните Бесплатно Уже Сегодня
Требование
CSV
XLSX
Совместимость с текстом без форматирования
Удобно
Требует чтения книги
Явные текстовые против числовых ячеек
Импортер решает
Автор может установить тип ячейки
Несколько рабочих листов
Отдельные файлы
Поддерживается в одной книге
Фильтры и замороженные заголовки
Потребитель должен добавить их
Автор может включить их
Большие объемы текста и строк
Ограничения зависят от потребителя
Ограничения Excel все еще применимы
Ненадежный текст веб-страницы
Требует предосторожностей при импорте
Может быть явно записан как текст
Консультируйтесь с спецификациями и ограничениями Excel перед тем, как выбрать книгу в качестве основного пункта назначения для большого сбора. Таблица часто является отличным артефактом для обзора, в то время как база данных или объектное хранилище остается системой записей.
Что вам нужно перед экспортом краула?
Вам нужен завершенный манифест коллекции, все партии результатов, нормализованная схема и политика вывода перед записью файла. Решите, какие записи будут приняты и как будут отображаться ошибки. Книга, содержащая только успешные строки, может скрыть серьезную проблему коллекции, если экспорт также не сообщает о том, что было исключено.
Столбец
Тип
Значение
source_url
Текст
Исходная одобренная идентичность страницы
title
Текст
Принятый заголовок страницы
observed_at
Текстовая метка времени
Время сбора UTC в документированном представлении
http_status
Опциональное число
Целевой статус, когда на самом деле доступно
accepted
Логический или явный текст
Решение о приемлемости приложения
rejection_reason
Текст
Причина, по которой запись не прошла валидацию
Это нормализованные столбцы приложения, а не утверждение о том, что каждый поставщик возвращает одинаковые имена полей. Отобразите текущий ответ API в этот контракт и сохраните оригинальный идентификатор задачи в вашем исходном манифесте. Не маркируйте код успешного ответа API как статус целевой страницы.
Долгие документы Markdown держите вне книги, когда они превышают ее практические ограничения по ячейкам. Храните стабильную ссылку на артефакт или контролируемый путь к файлу вместе со строкой страницы. Безмолвная усеченность, удаляющая доказательственный фрагмент, может сделать, казалось бы, завершенный экспорт unusable.
Как работает экспортный поток?
Экспортный поток читает все доступные результаты страниц, разрешает необходимые артефакты, нормализует строки, валидирует их и записывает ограниченный вывод. Каждый этап должен сохранять количество, чтобы проверяющий мог согласовать завершенную книгу с исходной задачей.
Используйте политики ограниченного восстановления для возобновления извлечения результатов без повторения всей исходной задачи. Для асинхронного краулинга сохраните идентификатор задачи перед ожиданием. Проверьте задокументированное терминальное состояние, а затем следуйте пагинации результатов до достижения условия завершения. Одна страница результатов или пакет курсоров не является всей задачей. Если извлечение не удалось на полпути, сохраните контрольную точку и отметьте экспорт как неполный, а не создавайте, казалось бы, финальную электронную таблицу.
Используйте элементы управления пакетным краулингом, чтобы сохранить размер коллекции преднамеренным. Экспорт должен зафиксировать, достиг ли краул настраиваемого предела, поскольку завершенная ограниченная задача все еще может представлять собой только часть большего сайта.
Как экспортировать результаты шаг за шагом?
Экспортируйте результаты, сначала предоставив нормализованный ввод, а затем выбрав формат файла, подходящий для потребителя. Следующие методы охватывают управляемую коллекцию, рабочую книгу для обзора и обмен текстом.
Метод 1: Сбор и нормализация с помощью Nstdata Crawl
Шаг 1: Запросите необходимые представления
Используйте Crawl Playground для настройки одобренной страницы или ограниченного объема сайта. Выберите Markdown для текстового потребления, HTML для парсинга и ссылки для обнаружения или графового анализа. Избегайте запроса больших визуальных артефактов для каждой страницы, когда электронной таблице нужны только заголовок и URL.
Шаг 2: Установите соединение с API
Установите nstdata-ai-crawl и задайте NSTDATA_API_TOKEN и APPROVED_PAGE_URL. Пример требует ваших собственных учетных данных и авторизованного целевого адреса; эта статья не утверждает о выполнении авторизованного запуска Nstdata с токеном клиента.
import os
from pathlib import Path
from nstdata_ai_crawl import NstDataClient, ScrapeRequestDto
token = os.environ["NSTDATA_API_TOKEN"]url = os.environ["APPROVED_PAGE_URL"]with NstDataClient(token)as client: result = client.submit_scrape_task_sync(ScrapeRequestDto( url=url, formats=["markdown"], onlyMainContent=True, timeout=60000))if result.success isnotTrueor result.status !="completed":raise RuntimeError("Извлечение страницы не было завершено успешно")if result.data isNoneor result.data.truncated isTrue:raise RuntimeError("Недоступно или частичное содержание требует проверки") text = result.data.get_markdown()ifnot text ornot text.strip():raise RuntimeError("Не возвращен используемый Markdown") Path("page.md").write_text(text, encoding="utf-8")print("Сохранено page.md; проверьте его содержимое перед последующим использованием")
Шаг 3: Запишите нормализованные строки JSONL
Отобразите принятые результаты в один объект на строку в records.jsonl. Сохраняйте оригинальные доказательства ответа отдельно и включайте отклоненные записи, если рабочая книга предназначена для диагностики полного запуска. Для задания сайта получите каждую задокументированную партию результатов перед финализацией подсчета строк.
Метод 2: Напишите типизированный файл XLSX для обзора
Шаг 1: Установите писатель рабочей книги
Установите XlsxWriter в вашей проектной среде. Пример использует явные строковые ячейки для внешне источаемого текста и отключает автоматическое преобразование URL и формул. Эти выборы делают поведение рабочей книги более предсказуемым, когда заголовки или другой исходный текст содержат специальные символы.
Шаг 2: Сохраните программу экспорта
Сохраните это как export_xlsx.py. Его ввод - это нормализованная схема приложения выше, а не неизмененный ответ поставщика. Код был протестирован с синтетическим набором данных, содержащим Unicode, отсутствующий статус и текст, похожий на формулы; эта проверка подтверждает обработку экспорта, а не утверждение о живой коллекции.
import json
import xlsxwriter
columns =["source_url","title","observed_at","http_status","accepted","rejection_reason"]workbook = xlsxwriter.Workbook("crawl-review.xlsx",{"strings_to_formulas":False,"strings_to_urls":False,"constant_memory":True})sheet = workbook.add_worksheet("Pages")header = workbook.add_format({"bold":True,"bg_color":"#E8EDFF"})sheet.write_row(0,0, columns, header)count =0try:withopen("records.jsonl", encoding="utf-8")as source:for row_number, line inenumerate(source, start=1):if row_number >=1_048_576:raise ValueError("Разделите экспорт перед пределом строк Excel") record = json.loads(line)ifnot record.get("source_url"):raise ValueError("Отсутствует source_url")for column_number, name inenumerate(columns): value = record.get(name)if value isNone: sheet.write_blank(row_number, column_number,None)elif name =="http_status"andtype(value)isint: sheet.write_number(row_number, column_number, value)else: text =str(value)iflen(text)>32_767:raise ValueError("Перенесите контент превышающего размер в артефакт") sheet.write_string(row_number, column_number, text) count +=1 sheet.freeze_panes(1,0) sheet.autofilter(0,0, count,len(columns)-1) sheet.set_column(0,0,54) sheet.set_column(1,2,32) sheet.set_column(3,5,22)finally: workbook.close()print("экспортированные строки:", count)
Шаг 3: Откройте и сопоставьте рабочую книгу
Запустите python export_xlsx.py, затем откройте рабочую книгу и сравните количество строк данных с нормализованным входом. Проверьте текст Unicode, URL-адреса источников, пустые значения и строковые формулы. Публикуйте или распространяйте файл только после успешного завершения процесса; прерванный запуск может оставить частичный артефакт.
Документация интерфейса рабочего листа XlsxWriter описывает явную запись строк и чисел. Сохранение исходного текста в качестве текста позволяет избежать неожиданной интерпретации извлеченного заголовка как исполняемой формулы в таблице.
Метод 3: Используйте CSV для простой таблицы обмена
Шаг 1: Выберите контракт импорта
Согласуйте кодировку UTF-8, разделитель, порядок колонок и представление временных меток с принимающей системой. Интерфейс Python CSV обрабатывает кавычки и новые строки, но не контролирует, как другое приложение интерпретирует ячейку.
Шаг 2: Напишите отдельный экспорт для презентации
Если CSV будет открыт интерактивно, примените задокументированную политику для текстов, похожих на формулы, или выберите метод XLSX с явным указанием вместо этого. Сохраните неизмененный набор данных, читаемый машиной, отдельно, когда экспорт для презентации добавляет экранирование или префиксы для защиты потребителей таблиц.
Шаг 3: Импортируйте столбцы идентификаторов как текст
Используйте средства импорта текста/CSV в Excel, чтобы проверить кодировку и назначить текстовые типы идентификаторам перед загрузкой таблицы. Не полагайтесь на двойное щелчок по CSV, когда ведущие нули, длинные идентификаторы или строки, похожие на даты, должны остаться неизменными.
[Скриншот: Предварительный просмотр импорта CSV в Excel, показывающий кодировку UTF-8, выбранный разделитель и столбцы идентификаторов, настроенные как текст.]
Какова роль Nstdata Crawl в экспортной архитектуре?
Nstdata Crawl располагается перед писателем экспорта как API для веб-сканирования для данных, готовых для LLM. Он может обнаруживать и рекурсивно собирать одобренные страницы в пределах ограничений, рендерить JavaScript при необходимости и возвращать повторно используемые представления. Ваше приложение затем решает, какие значения становятся строками, какие артефакты остаются вне рабочей книги и какие записи принимаются. Встроенный доступ к прокси может упростить стандартный запрос на сбор данных. Экспорт таблицы все равно нуждается в своих собственных правилах безопасности и целостности.
Несколько выходных ролей: Markdown поддерживает текстовые рабочие процессы, HTML поддерживает извлечение, а ссылки поддерживают обнаружение. JSON, PDF и визуальные выходы решают другие потребности доставки и обзора; проверьте текущее представление API, а не предполагайте наличие родного XLSX варианта.
Управляемая конфигурация прокси: Стандартный управляемый путь может использовать опцию прокси Nstdata без отдельной настройки шлюза и учётных данных. Учитывайте использование прокси в текущей модели тарификации.
Обработка задач и артефактов: Сохраните идентификаторы заданий и разрешите вернувшиеся ссылки на крупные артефакты, которые вам нужны. Поддерживайте связь рабочей книги с манифестом, который фиксирует принятые, отклоненные и отсутствующие результаты.
Почему экспорты сканирования теряют данные или открываются неверно?
Экспорты сканирования теряют данные или открываются неверно, когда писатель предполагает плоский ответ, пропускает партии результатов или полностью оставляет интерпретацию таблицам приложения. Проверьте как набор данных, так и файл.
Запишите или импортируйте ячейки идентификаторов как текст
Текст становится формулой
Недоверенные значения интерпретируются потребителем
Используйте явные текстовые ячейки или задокументированную политику безопасного импорта
Длинные описания исчезают
Лимит размера ячеек или тихое усечение
Храните артефакты вне таблицы и храните ссылки
Количество строк выглядит правильно, но данные дублируются
Повторяющаяся страница курсора или слабая идентификация
Сопоставьте уникальные ключи записей, а не только общее количество строк
Используйте проверку структурированного извлечения перед генерацией файла. Для длительных экспортов зафиксируйте исходное положение и запишите окончательное имя файла только после успешной проверки.
Как вам следует доставить готовую таблицу?
Доставьте таблицу с четким объемом, датой сбора, словарем данных и счетами сверки. Объясните, представляют ли пустые ячейки отсутствующие значения источника, не применимые поля или отклоненное извлечение. Храните подробную диагностику в соответствующей таблице просмотра или манифесте, чтобы основная рабочая таблица оставалась используемой.
Начните с небольшой нормализованной выборки и продемонстрируйте, что идентификаторы, Юникод, отсутствующие значения и ненадежный текст выдерживают круговой процесс. Альтернативный HTML-вывод Nstdata может помочь исследовать спорные поля до их попадания в окончательную рабочую книгу.
Нет. XLSX — это структурированный формат рабочей книги. Нормализуйте исходные записи и используйте фактический писатель рабочей книги или задокументированный родной экспорт.
В: Предоставляет ли Nstdata Crawl родной XLSX-ответ?
Настоящее руководство не предполагает родного XLSX-ответа. Оно использует Nstdata для сбора и отдельный слой экспорта приложения для генерации рабочей книги.
В: Почему мне нужна нормализованная схема?
Нормализованная схема определяет, что означает одна строка и как каждое поле должно быть интерпретировано. Это предотвращает появление неоднозначных ячеек таблицы из-за специфичных для поставщика оболочек и вложенных массивов.
В: Хватит ли кавычек CSV, чтобы предотвратить формулы в таблицах?
Нет. Кавычки CSV контролируют синтаксис файла, в то время как интерпретация формул относится к принимающему приложению. Используйте задокументированную политику импорта или явные текстовые ячейки XLSX.
В: Как доказать, что экспорт завершен?
Завершенный экспорт сопоставляет предполагаемый объем работ, все извлеченные пакеты результатов, принятые и отклоненные записи, уникальные идентификаторы и количество строк в готовом файле.
Нормализуйте записи обхода перед созданием электронного таблицы. Сохраните идентификаторы, согласуйте группы результатов и выберите типизированный XLSX или контролируемый CSV рабочий процесс для потребителя.
Lena Zhou
Nov. 9th 2026
Сканируйте целые сайты одним API-запросом
Успешность 99,8% с рендерингом JavaScript
Получайте чистые данные для LLM в разных форматах
Преобразуйте любой сайт в Markdown, HTML, JSON, ссылки, PDF и другие форматы без управления инфраструктурой сканирования.