NetPeak Biz Tech    


Как собрать данные из Google Search Console и построить отчетность с помощью Python и Google BigQuery

Как собрать данные из Google Search Console и построить отчетность с помощью Python и Google BigQuery

< >

Привет! Меня зовут Антон Леонтьев, я руководитель группы веб-аналитики в компании eLama.

В 2017 году вышла моя статья «Как обработать данные по поисковым запросам из органики Google в Google BigQuery». В ней мы вручную выгружали CSV-файлы из Google Search Console, складывали их на хранение в Google BigQuery и строили отчетность. В этой статье мы научимся выгружать автоматически с помощью Python-скрипта больше информации из консоли веб-мастера Google и построим большее количество автоматических отчетов.

Что изменилось с момента выхода прошлой статьи:

Во-первых, данные по поисковым запросам в консоли веб-мастера Google и в Google ***ytics теперь хранятся 16 месяцев, а не 90 дней, как раньше.

Во-вторых, появились данные по отдельным типам поиска: Веб, Изображение, Видео. Если выгружать вручную через CSV-файлы, то количество работы увеличивается в три раза.

В-третьих, теперь консоль веб-мастера поддерживает Ресурс на уровне домена, включающий URL с любыми субдоменами (m, www и др.) и различными префиксами протокола (http, https, ftp).

Также добавлю, что вручную скачивать CSV-файлы из консоли и загружать в BigQuery стало сложнее, поскольку все чаще попадаются громоздкие поисковые запросы на несколько строк с разными разделителями (пользователи копируют куски текста и вставляют в поиск). Стандартное форматирование ломается.

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

Пошаговая инструкция

1. Установим последнюю версию Python3 с официального сайта. Скачиваем дистрибутив, при установке выбираем ‘Customize installation’ и устанавливаем в папку ‘C:\Python37’. Остальные параметры можно не менять. Дальнейшие действия рассмотрим на примере операционной системы семейства Windows.

2. Запустим комaндную строку.

3. Перейдем в папку, куда установился Python, и проверим его работоспособность. Для этого запустим по очереди комaнды:

cd \"C:\Python37\"python --version

4. Выполним комaнды для установки библиотек, необходимых для работы скрипта:

cd Scriptspip install --upgrade google-api-python-clientpip install pandaspip install pandas_gbqpip install --upgrade oauth2clientcd ..

5. В Google BigQuery создадим dataset, например, ‘search_console_google’. О том, как начать работать с BigQuery, можно прочитать в одной из моих предыдущих статей.

6. Нужно создать сервисный аккаунт в разделе IAM и администрирование в Google Cloud Platform, затем создать для него JSON-ключ и сохранить себе на компьютер, например, в папку ‘C:\Dropbox\gsc\’.

7. Подключите Google Search Console API для приложения в Google API Console в текущем проекте Google Cloud. Затем создайте учетные данные.

Скачайте JSON-файл с учетными данными, переименуйте его в client_secrets.json.

8. Скачайте скрипт google_seo.py себе на компьютер, например, в папку ‘C:\Dropbox\gsc\’.

Здесь скрипт google_seo.py. Важно! Файлы google_seo.py и client_secrets.json должны находиться в одной папке.

Замените в коде переменные:

  • ‘gcloud_key’ — путь к JSON-ключу от сервисного аккаунта Google Cloud из пункта 6;
  • ‘gbq_project_id’ — идентификатор проекта Google BigQuery;
  • ‘gbq_dataset’ — название dataset\\\'a в BigQuery, куда вы хотите сохранить данные;
  • ‘domains’ — список доменов-ресурсов, подтвержденных в консоли вебмастера;
  • ‘first_month’, ‘last_month’ — с какого по какой месяц выгружаем данные;
  • ‘dimensions’ — метрики, которые будем выгружать (подробнее об этом поговорим дальше).

9. Запустите скрипт, набрав в комaндной строке:

python \"C:\Dropbox\gsc\google_seo.py\"

При первом запуске откроется браузер: нужно будет авторизоваться в Google и выдать разрешение приложению на доступ к вашему аккаунту. Также при первом запуске появится предупреждение об отсутствующем файле webmasters.dat; в этом нет ничего страшного, он будет создан позднее.

Если все пройдет гладко, то в консоли после выполнения скрипта будет суммарная информация по выгрузке. Также лог сохранится в файле google_seo_log.txt в папке со скриптом.

  • search_type — тип поиска (Веб, Изображение, Видео) ;
  • all_values — сколько всего значений было выгружено (сколько строк) ;
  • values with clicks — сколько из них было с кликами (остальные — 0 кликов, то есть были только показы) ;
  • clicks sum — сумма кликов;
  • impressions sum — сумма показов;
  • dimension1 и dimension2 — выгружаемые метрики. Скрипт по умолчанию выгружает восемь метрик, которые я посчитал самыми важными; если каких-то не хватает — просто добавьте их в скрипт. Что это за метрики:

9.1. \"device\": Устройства. Аналогичный отчет из консоли веб-мастера имеет вид:

9.2. \"country\": Страны.

9.3. \"page\": Страницы сайта. Сумма кликов и сумма показов больше, чем, например, по метрике 9.1 device, так как за один результат поиска в Google может выдаваться несколько страниц одного сайта, и все они суммируются.

9.4. \"query\": Поисковые запросы. Обычно самая востребованная метрика. К сожалению, через Google API (так же, как и через обычные CSV-выгрузки в интерфейсе консоли веб-мастера) выгружаются не все поисковые запросы (сумма кликов и показов меньше, чем в нашей выгрузке по метрике 9.1 device, и меньше, чем в суммарной информации в веб-интерфейсе консоли).

9.5. \"query - device\" и 9.6. \"query - country\": Поисковые запросы с разбивкой по устройствам; по странам.

В этих двух метриках сумма кликов совпадает с 9.5 query, но сумма показов может быть больше т.к. добавляются новые запросы с показами, но без кликов (особенности API Google).

9.7. \"query - page\": Поисковые запросы с разбивкой по страницам сайта. Сумма кликов и сумма показов больше, чем, например, по метрике 9.4 query, так как за один результат поиска в Google может выдаваться несколько страниц одного сайта, и все они суммируются.

10. Также в результате выполнения скрипта для каждого домена за каждый месяц создается таблица в Google BigQuery с сырыми данными:

Чтобы посмотреть содержимое таблиц, откройте предварительный просмотр.

Содержание полей:

  • clicks — клики;
  • ctr — CTR;
  • impressions — показы;
  • position — позиция в поиске;
  • search_type — тип поиска;
  • domain — домен;
  • period — месяц;
  • dimension1 и dimension2 — названия метрик, а value1 и value2 — их значения.

Например, на скриншоте ниже dimension1 содержит ‘query’, а dimension2 — пустое. Значит, это поисковые запросы, которые хранятся в поле value1, а поля value2 — пустые.

11. Чтобы было легче работать с поисковыми запросами (то есть метрикой 9.4 query), создадим виртуальную таблицу (view) search_console_google.queries, содержащую этот SQL-скрипт:

Здесь скрипт queries.sql.

В этом скрипте вам нужно заменить ‘gbq_project_id’ — идентификатор проекта BigQuery — и подправить определение брендированных запросов. Затем запустите скрипт и сохраните view (представление). Эта виртуальная таблица будет содержать подробную информацию по каждому поисковому запросу за каждый отчетный месяц по каждому домену-ресурсу.

Посмотрим на результат выполнения этого скрипта (нужно нажать Edit Query, Run Query):

Колонки аналогичны таблице из пункта 10, за исключением:

query — поисковый запрос, уже отдельное поле;

query_type — тип поискового запроса, определяется в SQL-запросе. Он принимает три значения: ‘(other)’, ‘branded’, ‘not branded’.

‘(other)’ — это искусственно созданный поисковый запрос, клики и показы по которому равны сумме кликов и показов, которые не выгрузились из консоли. Рассчитывается это следующим образом: берется сумма кликов и показов по метрике device (эта сумма пpaктически всегда совпадает с общей суммой консоли веб-мастера), и из нее вычитаются суммы кликов и показов по всем выгруженным поисковым запросам. Таким образом, суммы по ‘(other)’, ‘branded’, ‘not branded’ совпадают с общими цифрами в консоли веб-мастера.

12. Используя эти данные, можно построить любые отчеты или графики в средствах визуализации или BI-инструментах. Я подготовил пять отчетов в Google Sheets. Откройте документ по ссылке и скопируйте себе, тогда у вас появится доступ на редактирование и изменение графиков. Все цифры в документе демонстрационные.

13. Отчет 1: Queries totals

На графике выводится помecячная динамика указанного показателя по выбранным доменам, типу поиска и типу запроса. Например, динамика кликов по бразильскому домену в типе поиска ‘web’ по всем типам запросов:

Или доля показов по всем доменам во всех типах поиска по поисковым фразам ‘other’ (то есть которые не выгружаются из консоли веб-мастера):

Исходными данными для листа ‘1 Queries totals’ является лист ‘1 source’, в который скопирован результат выполнения SQL-запроса. Чтобы не копировать вручную данные в ‘1 source’, можно воспользоваться аддоном OWOX BI BigQuery Reports, который будет обновлять лист каждый раз по запросу или по расписанию.

Здесь скрипт queries_report_chart.sql.

14. Отчет 2: Queries list

Таблица по всем поисковым фразам за каждый месяц: указаны количество кликов и позиция. Исключены поисковые фразы с суммарным количеством кликов за все время меньше десяти. Пользуемся фильтрами, чтобы сфокусироваться на нужных показателях.

Здесь скрипт queries_report_list.sql.

15. Отчет 3: Devices

Динамика показателей: CTR, клики, показы в разрезе устройств по доменам и типам поиска. Исходные данные — на листе ‘3 source’.

Здесь запрос devices.sql.

16. Отчет 4: Countries

Здесь можно посмотреть статистику по странам. Исходные данные — на листе ‘4 source’.

Здесь запрос countries.sql.

17. Отчет 5: Pages

Таблица со статистикой кликов по страницам сайта. Список ограничен страницами с 5 и более кликами за все время.

Здесь скрипт pages.sql.

Заключение

В этой статье приведены примеры отчетов по следующим выгруженным метрикам из Google Search Console: 9.1 device, 9.2 country, 9.3 page, 9.4 query. Данные по: 9.6 query - device, 9.7 query - country, 9.8 query - page не используются, иначе статья будет очень громоздкой. Но все данные хранятся в BigQuery, и вы сможете запрашивать оттуда данные, если потребуется. Используйте и модифицируйте приведенные SQL-запросы под свои потребности или стройте отчеты на основе сырых данных в средствах визуализации и BI-инструментах: Google Data Studio, Tableau, Power BI или других.

Таким образом, мы разобрались, как можно сохранить статистику переходов из органики Google, а также автоматизировать отчетность. Если у вас есть вопросы или дополнения — пишите в комментариях.



Комментарии:

Как запустить торговые кампании в Bing Ads

Товарные объявления торговых кампаний заметнее в выдаче, да и показываться будут и в Bing, и в Yahoo, и в AOL...

15 10 2026 0:53:54

Раскрыт секрет гарантированного роста трафика из поиска, или Серебряная пуля SEO

Раскрыт секрет гарантированного роста трафика из поиска, или Серебряная пуля SEO О главном секрете поискового продвижения на основе исследования, которое проводилось в течение двух лет. Здесь отсеяны все проекты со слишком малой начальной посещаемостью и проекты с пробелами в аналитике. Узнайте больше, на чем строится рост трафика!...

14 10 2026 13:44:12

Где лучше заказывать контент для сайта и соцсетей

Где лучше заказывать контент для сайта и соцсетей Как и где найти хорошего автора для вашего сайта: сравнение платформ копирайтинга, форматы оплаты (объем или качество), фишки по выбору фрилансера. Читать дальше!...

13 10 2026 16:54:55

Что такое ассоциированные конверсии и как проверить их ценность

Что такое ассоциированные конверсии и как проверить их ценность Примерно 70% конверсий происходит за счет дополнительных источников, их ценность отражается в GA. Разбираемся, какие отчеты использовать для анализа и оценки таких источников. Читайте далее!...

12 10 2026 0:16:51

Продвижение мобильных приложений: анализируем данные в Search Console

Продвижение мобильных приложений: анализируем данные в Search Console Отслеживаем эффективность приложения в Search Console на примере OLX.KZ...

11 10 2026 18:47:50

Сайт загружается медленно: когда не нужно паниковать

О неправильных тpaктовках отчета по времени загрузки страниц сайта в ***ytics...

10 10 2026 2:28:19

Почти идеальный способ настроить междоменное отслеживание

Самые точные данные статистики, которые вы получите с помощью Google Tag Manager....

09 10 2026 10:50:49

Каким должен быть дизайн продающей страницы

Каким должен быть дизайн продающей страницы Обязательные элементы продающей страницы: удобный и красивый дизайн, легко читаемые форматы и стили шрифтов, текстовые блоки, кнопки призыва к действию. Узнать больше!...

08 10 2026 13:20:10

Лучшие дополнения для Google Docs

Лучшие дополнения для Google Docs Оптимизация и оформление вордовских текстов, переводчик, совместное редактирование, возможность залить картинку... Эти и много других опций дают дополнения для Google Документов....

07 10 2026 21:24:10

Как настроить AdWords Express в 4 шага и в чем секрет этой системы

Как настроить AdWords Express в 4 шага и в чем секрет этой системы Настройка в четыре шага и другие отличия AdWords Express от Adwords...

06 10 2026 23:17:31

Партнерство с Amazon — всё? Что делать после уменьшения партнерских выплат

Партнерство с Amazon — всё? Что делать после уменьшения партнерских выплат Amazon сократил комиссию для сайтов партнеров от 30% до 80% — что делать дальше? Мнение эксперта....

05 10 2026 13:21:25

18 способов собрать базу подписчиков для email-рассылок

18 способов собрать базу подписчиков для email-рассылок Будьте полезны, будьте удобны и будьте везде. Далее подробно — 18 способов собрать базу для email-рассылок. О пользе бесплатного, привлечении внимания, возможных активностях для аудитории, социальных доказательствах, предсказуемости, работе с Facebook и многом другом...

04 10 2026 7:19:21

5 главных трендов в социальных сетях в 2022 году

5 главных трендов в социальных сетях в 2022 году Хотите раскрутить свои соцсети в 2022 году? Тогда уже сейчас нужно задуматься, что будете публиковать. В статье расскажем, какой контент будет в тренде в будущем году....

03 10 2026 4:22:44

Как Octopus Events и Netpeak организовали офлайн-конференцию летом 2020-го — кейс

Как мы проводили самую летнюю конференцию в условиях постлокдayна, пандемии и неизвестности....

02 10 2026 5:44:27

Как написать статью о компании

Как написать статью о компании Рассказывайте о развитии фирмы, ее достижениях, масштабах деятельности — это то, что нужно вашим потенциальным клиентам. Так вы повысите их лояльность. Узнать больше!...

01 10 2026 0:17:47

Как обучать комaнду по методу 70:20:10

Как эффективно распределять бюджет и ресурсы на обучение сотрудников. Статья будет полезной для собственников бизнеса и HR-специалистов....

30 09 2026 12:56:15

Как проанализировать эффективность страницы бренда в Facebook

Как проанализировать эффективность страницы бренда в Facebook Бренду нужно зайти на Фейсбук? Несколько очень полезных советов об измерении эффективности SMM....

29 09 2026 4:45:12

Как импортировать данные в Google ***ytics

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

28 09 2026 7:53:46

Зачем заказывать сбор семантического ядра у агентства

Зачем заказывать сбор семантического ядра у агентства Когда и зачем нужно заказывать сбор семантического ядра, на какие этапы разбит процесс и какие результаты можно получить...

27 09 2026 18:51:31

Кейс: как провести анализ конкурентов с помощью SimilarWeb

Кейс: как провести анализ конкурентов с помощью SimilarWeb Определение, исследование и проверка конкурентов в Similarweb — первый шаг перед запуском и масштабированием проекта...

26 09 2026 5:44:24

Как не сломать работу автостратегий Google, когда на сайте произошел сбой — используем «Исключение данных»

Как не сломать работу автостратегий Google, когда на сайте произошел сбой — используем «Исключение данных» Качество передаваемых данных напрямую отражается на качестве решений, принимаемых для бизнеса. Как защититься от таких ошибок?...

25 09 2026 16:53:50

Пользователи удаляют приложение — когда mobile-маркетологу не стоит волноваться

Пользователи удаляют приложение — когда mobile-маркетологу не стоит волноваться Почему соотношение данных об использовании приложения важнее, чем количество установок и удалений...

24 09 2026 9:42:30

Зачем нужен медиаплан и как его составить?

Зачем нужен медиаплан и как его составить? Чтобы и клиенту не стыдно было показать и свои ожидания не обмануть....

23 09 2026 8:29:32

SEO-продвижение для службы доставки еды в Украине — рост бесплатного трафика на 477%

SEO-продвижение для службы доставки еды в Украине — рост бесплатного трафика на 477% Кейс продвижения Pizza House — ROMI 709,9%. От старта с дублями страниц и постановки целей и задач продвижения, проведения технического аудита, аналитики, анализа поисковых фраз, выбора контента до экспериментов с метатегами, увеличения среднего чека и планов на будущее...

22 09 2026 10:51:29

8 сервисов для аудита мобильной версии сайта

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

21 09 2026 3:25:47

Как научиться читать скрипты Google Рекламы

Как научиться читать скрипты Google Рекламы Популярные скрипты Google Рекламы позволяют автоматизировать рутинные и монотонные процессы. Каждый скрипт состоит из функций, переменных, объектов, сущностей, селекторов, итераторов...

20 09 2026 1:39:34

10 полезных приемов работы в Редакторе AdWords

10 полезных приемов работы в Редакторе AdWords Как специалисту сэкономить время для создания и оптимизации кампаний, проверки орфографии и другие фишки. Советы из пpaктики....

19 09 2026 15:47:18

Баннерная реклама vs. Таргетированная реклама в социальных сетях

Не существует универсальных решений - есть эффективные инструменты и удачные их сочетания....

18 09 2026 19:19:45

Восемь советов успешного запуска рекламной кампании в myTarget

Восемь советов успешного запуска рекламной кампании в myTarget Делимся фишками, которые облегчат работу как новичкам, так и специалистам....

17 09 2026 9:40:35

Netpeak Group купила конференцию eCommerce от OWOX

Конференцию eCommerce будет развивать комaнда Octopus Events...

16 09 2026 20:10:19

Почему в США зарплаты СЕО приводят к дополнительным налогам?

Почему в США зарплаты СЕО приводят к дополнительным налогам? Как борьба с зарплатным неравенством становится трендом...

15 09 2026 18:28:21

Как привлечь целевой трафик на сайт: кейсы по подбору ключевых фраз с помощью Serpstat (ex. Prodvigator)

Как привлечь целевой трафик на сайт: кейсы по подбору ключевых фраз с помощью Serpstat (ex. Prodvigator) Как использовать расширенное семантическое ядро для увеличения целевого трафика....

14 09 2026 0:44:56

Что работает в 2019 году: кейсы и рекомендации спикеров 8P

Что работает в 2019 году: кейсы и рекомендации спикеров 8P Читать только интернет-маркетологам, SMM, PPC и SEO-специалистам....

13 09 2026 20:56:10

Динамический ремаркетинг в myTarget: подробный мануал и кейс

Динамический ремаркетинг в myTarget: подробный мануал и кейс Как настроить динамический ремаркетинг в myTarget и эффективно ли работают такие объявления — делимся собственным опытом....

12 09 2026 17:18:56

Кейс: как спасти проект и увеличить органический трафик на 109% за 6 месяцев

Кейс: как спасти проект и увеличить органический трафик на 109% за 6 месяцев Как улучшить видимость сайта после оптимизаторов-староверов — кейс в тематике «световое и звуковое оборудование»....

11 09 2026 1:45:40

Английский язык — два упражнения для пополнения словарного запаса и развития разговорной речи

Английский язык — два упражнения для пополнения словарного запаса и развития разговорной речи Улучшайте свой уровень английского. Упражнения для В1 — Intermediate («Средний+»). Узнать больше!...

10 09 2026 15:58:18

Seznam, откройся: подробное руководство по настройке контекстной рекламы в Чехии

Seznam, откройся: подробное руководство по настройке контекстной рекламы в Чехии Seznam.cz — одна из пяти поисковых систем в мире, сумевших в отдельно взятой стране стать популярнее Google...

09 09 2026 13:14:14

Как маркетинговому агентству выйти на зарубежный рынок. Опыт ADINDEX

Статья будет полезна небольшим агентствам, которые мечтают работать с заграничными клиентами. Зачем нужно выходить за рубеж, если и в своей стране все идет неплохо, да и вообще — нет времени на продвижение на незнакомом рынке? Давайте разбираться вместе!...

08 09 2026 20:51:27

Как повысить органический трафик на 124% при полумиллионой аудитории — кейс тендерной площадки SmartTender

Как повысить органический трафик на 124% при полумиллионой аудитории — кейс тендерной площадки SmartTender Рассказываем, как комaнда Netpeak работала над ростом органики и повышением видимости приоритетных страниц сайта по релевантной семантике....

07 09 2026 23:33:53

Netpeak + RadASO = Netpeak RadASO. Мы выходим на рынок комплексного продвижения мобильных приложений

Netpeak + RadASO = Netpeak RadASO. Мы выходим на рынок комплексного продвижения мобильных приложений Агентство Netpeak закрыло сделку по покупке агентства мобильного маркетинга Радомира Новковича RadASO....

06 09 2026 21:42:42

Как выбрать трекер для мобильного приложения — часть вторая

Как выбрать трекер для мобильного приложения — часть вторая Трекеры теперь на любой вкус: за лидерство в сфере аналитики и трекинга в мире мобильных приложений все еще конкурируют более десяти различных систем. Как не растеряться в обилии инструментов?...

05 09 2026 6:39:40

20 инструментов SEO-копирайтинга — полезные программы и сервисы

20 инструментов SEO-копирайтинга — полезные программы и сервисы 20 сервисов для прокачки контента под SEO. Штуки, которые будут полезны новичкам и экспертам....

04 09 2026 7:44:42

Как мы одолели «Баден-Баден» и подняли трафик из поиска на 55% — кейс MirCli

Как мы одолели «Баден-Баден» и подняли трафик из поиска на 55% — кейс MirCli Продвижение крупного интернет-магазина в перегретой нише...

03 09 2026 14:25:38

Как объединить источники данных в Google Data Studio

Как объединить источники данных в Google Data Studio Как пользоваться «Совмещением данных» с учетом всех особенностей инструмента...

02 09 2026 19:54:12

Топ 5 лучших вебинаров для онлайн-предпринимателей

Топ 5 лучших вебинаров для онлайн-предпринимателей Бесплатный образовательный проект для предпринимателей Netpeak Cluster предлагает пять своих лучших вебинаров о нюансах онлайн-продвижения...

01 09 2026 14:17:59

Кейс по продвижению интернет-магазина детской одежды, обуви и товаров: ROMI 319%

Кейс по продвижению интернет-магазина детской одежды, обуви и товаров: ROMI 319% Виктория Игнатьева опубликовала новый кейс по продвижению интернет-магазина детской одежды, обуви и товаров: ROMI (возврат маркетинговых инвестиций) 319%....

31 08 2026 0:58:26

Где бесплатно разместить ссылки — площадки для продвижения

Где бесплатно разместить ссылки — площадки для продвижения Как найти релевантный сайт-донор для размещения своей ссылки...

30 08 2026 0:24:23

Бизнес и война: как выжить и не потерять всех сотрудников

Бизнес и война: как выжить и не потерять всех сотрудников Часто руководители, которые прекрасно справляются с работой в мирное время, в период войны перестают быть эффективными. У них нет навыков кризис-менеджмента. Чтобы удержать ситуацию на плаву, кризис-менеджером должен стать главный руководитель компании....

29 08 2026 11:13:42

Кейс по SEO для тематики «осветительные приборы, мебель и декор», регион Болгария: рост органического трафика на 108,96%

Кейс по SEO для тематики «осветительные приборы, мебель и декор», регион Болгария: рост органического трафика на 108,96% Кейс по росту органического трафика на сайте интернет-магазина на платформе Summer Cart....

28 08 2026 17:12:27

Что такое водяной знак и как его используют

Необходимый элемент для защиты контента от копирования и в то же время — шанс стать популярным автором. Тем не менее, от водяных знаков отказываются. Узнать больше!...

27 08 2026 22:50:23

Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::