Найти тему
jam.agency

Пишем заголовки в Яндекс Директ из контента сайта

Оглавление

Продолжаем цикл статей на тему автоматизации разработки рекламных кампаний для интернет-магазина: составляем заголовки!

Темы статей:

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

Когда у нас 11 000 объявлений, то разработка заголовков вручную может потребовать неоправданно много ресурсов, поэтому заголовки составляем из мета-тегов Title или H1 URL, на которые ссылаются ключевые слова.

Итак, что у нас есть? URL страниц, с которых мы можем спарсить мета-теги и из них составить заголовки, а для высокочастотных слов (в точном соответствии) пишем заголовки руками.

Здесь есть 3 варианта:

Выгрузить Titles по URL из Google Analytics - охват URL будет 90%

В предыдущих частях мы уже использовали API GA, поэтому показываю только запрос. Вы могли заметить, что в поле Start index и Max results у нас стоят значения 0-10000 и 10001-20000. Суть в том, что GA позволяет выгрузить только 10000 строк на один запрос и мы как бы делаем два запроса, но указываем, что в первому нужно с 1-ой по 10000-ую строку, а во втором точно такой-же запрос, но строки с 10001 по 20000.

На выходе имеем URL и Title, которые сможем подставить вместо заголовков.

Написать скрипт запроса к базе данных

Попросить клиента сделать скрипт, где на входе URL, а на выходе теги - самый оптимальный вариант! Вы можете попросить клиента сделать скрипт на секретном URL адресе.

Использовать парсеры, например Datacol. Это вариант в лоб, демонстрирую.

Создаем кампанию

Вставляем URL, которые нужно парсить

Выбираем пункт Все, это значит, что без лишних заморочек :)

Добавляем поле H1

Нажимаем селектор

Загружается одна из наших ссылок и нам нужно тыкнуть на текст, который нужно сохранить, он выделятся красным. Потом нажимаем «Сохранить» в левом верхнем углу.

Готово! Появится новая кампания - запускаем ее!

Внизу сразу появятся результаты, которые по завершении сохранятся в папку «Мои документы»

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

В нашем кейсе у нас есть скрипт на стороне заказчика, поэтому проблем по-убавится.

Теперь нужно придать заголовка вид, уместить их в 33 символа, использовать добавку к заголовку 23 символа, восклицательные знаки и так далее.

У нас для этого есть скрипт в питоне. Итак на входе мы имеем:

Применяем код

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import pandas as pd
import re

df
= pd.read_excel('Headlines.xlsx', header=0)

# очищаем
df.dropna(
inplace=True)
df.reset_index(
drop=True, inplace=True)

# считаем символы в колонке с текстом
df.loc[:,'Len']
= df.loc[:,'Title'].str.len()

# очищаем от ненужных символов с помощью регулярного выражения
df.loc[:,'Title']
= df.loc[:,'Title'].str.replace(r'\/|\(|\)', '')

# создаем колонки для заголовков и первой строки
df.loc[:,'headline']
= ''
df.loc[:,'text1']
= ''

# экспортируем данные из исходного текста в колонки заголовка и первой строки
for i in range(len(df)):
if df.loc[i,'Len'] > 33:
for word in df.loc[i,'Title'].split(' '):
if (len(df.loc[i,'headline']) + len(word) + 1) <= 33:
df.loc[i,'headline']
+= word + ' '
else:
if (len(df.loc[i,'text1']) + len(word) + 1) <= 23:
df.loc[i,'text1']
+= word + ' '
else:
df.loc[i,'text1']
= df.loc[i,'text1'][0].upper() + df.loc[i,'text1'][1:]
df.loc[i,'text1']
= df.loc[i,'text1'][0:(len(df.loc[i,'text1'])-1)] + '!'
break
else:
if len(df.loc[i,'text1']) > 0:
df.loc[i,'text1']
= df.loc[i,'text1'][0].upper() + df.loc[i,'text1'][1:]
df.loc[i,'text1']
= df.loc[i,'text1'][0:(len(df.loc[i,'text1'])-1)] + '!'
else:
df.loc[i,'headline']
= df.loc[i,'Title']
continue

# пишем добавки
d
= [u' в Москве', u' в МСК', u'!']

# скрипт добавления
for i in range(len(df)):
if df.loc[i,'text1'] == '' and len(df.loc[i,'headline']) <33:
for add in d:
if len(add) <= (33 - len(df.loc[i,'headline'])):
df.loc[i,'headline']
+= add
break
else:
continue

# добавляем текст в пустые добавки
for i in range(len(df)):
if df.loc[i,'text1'] == '':
df.loc[i,'text1']
= u'В наличии!'

df.to_excel('headlines.xlsx')

И получаем

Так же есть возможность применить применить подобный подход в Excel

Прикрепляю ссылку на файл

Теперь копируем заголовки в главный Excel и подтягиваем в основную таблицу с помощью VLOOKUP

Все!

Пишите вопросы в комментариях, какие темы было бы интересно раскрыть подробнее? Если у вас есть идеи или советы, то делитесь!

Подпишитесь на Facebook или Телеграмм, чтобы не пропустить новые статьи

Оригинал