# Выгрузка результатов

На каждой странице выдачи есть кнопки, которые скачивают найденное: **URLs**, **CSV** и **CSV с фрагментами**. Если вы вошли в аккаунт, есть ещё **Кластер**: эта кнопка не скачивает результаты, а сохраняет их. Строки идут в том же порядке, что и на странице выдачи.

## Что даёт каждая кнопка

| Кнопка | Файл | Каждая строка |
| --- | --- | --- |
| URLs | `query.txt` | Адрес совпавшей страницы. |
| CSV | `query.csv` | `url;rank` |
| CSV с фрагментами | `query-snippets.csv` | `url;rank;snippets` |
| Кластер | - | Домены сохраняются как [кластер](https://ru.publicwww.com/docs/clusters/creating/); в сообщении сказано, сколько результатов в него вошло. |

Файл называется по запросу, из которого выброшено всё, кроме латинских букв, цифр, `-` и `_`: из `"static.hotjar.com"` получается `statichotjarcom.csv`.

## Формат

- UTF-8, без строки заголовков.
- Колонки разделены точкой с запятой `;`. Ячейка, в которой есть точка с запятой, двойная кавычка или перевод строки, берётся в двойные кавычки, а кавычка внутри неё удваивается. Это обычный CSV: программа для таблиц или библиотека CSV читает его как есть, если выбрать разделителем точку с запятой.
- Rank - место сайта в рейтинге популярности. У сайта без места в рейтинге это поле пустое.
- Все фрагменты одной страницы стоят в одной ячейке через `...`.
- Перед фрагментом, который начинается с `=`, `+`, `-` или `@`, ставится апостроф, чтобы программа для таблиц показала его, а не выполнила как формулу. Числа, например номера телефонов, остаются как есть.

## Сколько строк

В файл попадают результаты, которые открывает ваш тариф, - те строки, что можно открыть на странице выдачи, - но не больше предела тарифа: **Результатов на один поиск или выгрузку** для URLs и CSV, **Выгрузка с фрагментами (строк)** для CSV с фрагментами. Числа - на странице [Тарифы](https://ru.publicwww.com/prices.html). Строки берутся с начала выдачи.

Если тариф урезал результаты, об этом говорит последняя строка файла:

```
# Truncated at the plan limit: 1,000 of 22,694 results.
```

Строка начинается с `#` и написана на языке того сайта, с которого вы скачивали. Это не результат: при чтении файла программой её нужно пропустить. Если её нет, в файле все результаты.

Выгрузка расходует лимит так же, как сам поиск: один поиск из суточного лимита, а CSV с фрагментами - ещё и одну выгрузку с фрагментами, см. [лимиты и ограничения частоты](https://ru.publicwww.com/docs/api/limits/). Когда поиски на сегодня кончились, в выгрузку попадает столько, сколько разрешает бесплатный тариф, и последняя строка сообщает, что файл урезан.

## Из скрипта

Кнопки собирают адрес выгрузки прямо на странице, и он работает десять минут в том браузере, который открыл страницу. Чтобы скачивать из своего кода, используйте [API](https://ru.publicwww.com/docs/api/): `/v1/search` с `format=csv` или `format=txt`. [Старые адреса выгрузки](https://ru.publicwww.com/docs/api/legacy/) с `?key=` сохраняют прежний формат в точности: ячейки не берутся в кавычки, последней строки нет, а у сайта без места в рейтинге стоит `>30M`.

## Другие выгрузки

- **Кластер** - значок скачивания в списке [кластеров](https://ru.publicwww.com/profile/clusters/) даёт текстовый файл с его доменами, по одному в строке.
- **Извлечение** - CSV с разделителем-запятой, а не точкой с запятой, со строкой заголовков: домен, затем по колонке на каждое выражение. Несколько значений, найденных на одном сайте, стоят в одной ячейке, по одному в строке. Последняя строка, которая начинается с `#`, говорит, сколько баллов извлечения израсходовал прогон; когда баллы на сегодня кончаются, строка перед ней говорит, с какого места продолжить. См. [Извлечение](https://ru.publicwww.com/docs/clusters/extraction/).

Source: https://ru.publicwww.com/docs/query-syntax/downloads/
