Учебник по яндекс директ: Яндекс. Директ. Учебник начинающего рекламодателя. Повышение CTR объявлений / Хабр

Содержание

Яндекс. Директ. Учебник начинающего рекламодателя. Повышение CTR объявлений / Хабр

Впрочем, общий термин «повышение CTR» не совсем точен, в данном случае уместно говорить о повышении кликабельности по каждому конкретному ключевому запросу. На странице «Помощь» Яндекс Директа на этот счет даны толковые советы (на официальном языке), но мы расширим границы познания и более подробнее остановимся (на менее официальном) на ключевых моментах.

Итак, как известно, CTR – это отношение кликов к показам в процентном выражении. Принято считать, что чем выше CTR, тем выше эффективность объявления. Безусловно, если объявление составлено правильно (не с вашей, а с точки зрения покупателя), а конверсия – высокая. Но высокий показатель CTR порой априори не означает хорошую конверсию, а скорее наоборот.

Например, покупка запроса «скачать mp3» даст чудовищно высокий CTR и низкую конверсию. Ведь не факт, что все ищущие купят у вас музыку, т.к. пользователь волен прицепить к запросу название любимой группы, и все ваши деньги уйдут в песок. По этой же причине, чем более сфокусировано до разумных, вернее, до необходимых пределов объявление, тем выше CTR и конверсия, так сказать в комплекте.

Итак, основные советы по повышению CTR основаны лишь на логике и здравом смысле, без пафосных заявлений «бренд», «узнаваемость», «цеплять внимание» и прочей лабуды.

1. Заголовок объявления должен содержать искомый запрос пользователя, желательно с учетом морфологии. Например по запросу «термоядерные боеголовки» вы обязаны показывать заголовок «Термоядерные боеголовки – доставка в ваш город»

2. В тексте объявления необходимо отражать точные запросы пользователей, (можно и два раза в разных склонениях), плюс самое частотное слово из правой колонки «что еще искали люди».

3. Включайте логику, пользуйтесь поисковыми операторами Директа (далее сами додумывайте). Запросы «боеголовка» и «! боеголовки» могут иметь совершенно разный CTR. Совет: присмотритесь к своим товарам и подумайте о том, как покупатели их ищут.

4. Отсекайте мусор на входе. Минусуйте стоп-слова до потери сознания. Подходите к этому вопросу с особой тщательностью. На финишной прямой при очень жесткой конкуренции одно лишнее стоп-слово в Яндекс Директе способно вывести вас в лидеры, а конкурента отправить к праотцам.

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

Кроме того, не забывайте про фантазию пользователей – это необычайно развитая штука. Посему старайтесь справиться со своим эго, абстрагируйтесь от своего любимого бизнеса и начните «думать как пользователь». И тогда вы обязательно найдете еще стоп-слова, которых нет в форме подбора слов.

5. Примите за правило: «Одно объявление – одно ключевое слово». Таким методом вы страхуете свою рекламную кампанию от возможных ошибок – не сжигайте за собой мосты. Следуя этому правилу, вы всегда сможете понять, где ошиблись и опертивно вмешиваться в ход рекламной кампании.

6. Не пренебрегайте геотаргетингом, это отличнейший инструмент в умелых руках. Не ленитесь, формируйте региональные кампании.

Нет необходимости показывать объявление о продаже элитных щенков в Москве пользователю из Красноярска. Таким образом вы плодите лишние показы, которые приводят к снижению эффективности объявления в целом и, в конечном итоге, – к повышению ваших ставок.

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

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

Вывод напрашивается сам. Все банально: дробите объявления на отдельные регионы и получите 100% управляемую рекламную кампанию в каждом из них.

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

8. Работайте и в выходные дни. Совет для поднятия CTR или, если точнее, совет для тех, кто нацелен на звание «Царь горы» (вход в Спецразмещение). Именно в выходные конкуренты пьют пиво в тот момент, когда вы безнаказанно и спокойно ставите капкан, который переломает им всю рекламную кампанию.

9. Пишите заголовки простым, понятным, человеческим языком. Будьте проще. Пошлите ко всем чертям дурацкий креатив. Люди не так умны, как вам кажется. Не применяйте в текстах сложную терминологию – как только человек читает что-то сложное и не понимает о чем речь, в нем сразу же просыпаются самые дремучие комплексы. Представьте, что клиент сидит перед вами и вам нужно за пару минут простым языком представить и продать свой товар.

10. Перестаньте заявлять про «низкие цены». Указывать цену можно, но учтите, тоже самое могут сделать конкуренты (а цену снизить может любой дурак). Если вы, конечно, не единоличный лидер на рынке. В противном случае, при нападении мелких конкурентов со всех сторон, можно и нужно демпинговать, пока противники не начнут вылетать из Директа, как пробки из бутылки шампанского.

17 книг для PPC-специалистов по контекстной рекламе, маркетингу, копирайтингу и веб-аналитике

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

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

Контекстная реклама

«Яндекс.

Директ. Как получать прибыль, а не играть в лотерею»

Издательство «Питер», 2019. Купить книгу на «ЛитРес»

Первую книгу по Директу специалист-практик и руководитель агентства контекстной рекламы Филипп Царевский написал в 2016 году. По его словам, учебник был «заточен под малый бизнес — услуги, магазины, производства». Автор решил регулярно обновлять книгу с учётом новых инструментов.

Последнее издание появилось в магазинах в 2019 году — это до сих пор одна из наиболее качественных работ по Директу. Рекомендации и примеры из книги будут еще актуальны в ближайшую пятилетку.

Чем полезна. Охватывает все аспекты, влияющие на эффективность рекламы в Директе, — от анализа продукта и разработки уникального торгового предложения до А/Б-тестов и поддержки рекламных кампаний.

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

Об авторе. Филипп Царевский — специалист и в прошлом руководитель агентства контекстной рекламы. Помимо настройки и ведения клиентских РК, обучал Директу начинающих специалистов и предпринимателей. Агентство и обучающие проекты перестали существовать в 2019 году.

«Эффективная реклама в Яндекс.Директ. Практическое руководство для тех, кто хочет получить максимальную прибыль от контекстной рекламы»

Издательство Манн, Иванов и Фербер, 2015 г.

Константин Живенков сделал упор на практику, поэтому теории в книге мало. Руководство состоит из практических приемов и конкретных решений. Правда, часть информации уже устарела, так как книга написана в 2015 году. Но некоторые советы о том, как повысить отдачу от рекламы в Директе, можно использовать и сейчас.

Чем полезна. Читатели, уже немного знакомые с Директом, найдут в книге тонкости настройки, до которых сами бы доходили через ошибки и слив бюджета. Приемы и решения, о которых пишет Константин, помогут повысить кликабельность (CTR) объявлений, уменьшить количество нецелевых кликов, оптимизировать временные затраты на сбор семантики и настройку кампаний.

Об авторе. Константин Живенков — предприниматель и инфобизнесмен, автор нескольких вебинаров и курсов по контекстной рекламе.

«Как составить семантическое ядро для эффективной рекламы в Яндекс.Директ»

Скачать бесплатно на сайте агентства MOAB

Пошаговый план по составлению семантического ядра от основателя маркетингового агентства. Автор книги Илья Исерсон считает, что качественно собрать ключевые слова можно только вручную. В своей книге он даёт методику, как это делать правильно и с наименьшими трудозатратами.

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

Об авторе. Илья Исерсон — владелец маркетингового агентства MOAB, преподаватель и автор курсов по контекстной рекламе.

Сэкономить время и автоматизировать другие этапы ведения контекстной рекламы поможет Сеодроид. Он автоматически скорректирует ставки по заданным параметрам, подготовить удобные и понятные отчеты для проработки минус-слов и чистки площадок РСЯ, разметит ссылки UTM-метками и сгенерирует кампанию для большого количества товаров или услуг.

«Контекстная реклама, которая работает. Библия Google AdWords»

Издательство «Манн, Иванов и Фербер», 2014

До сих пор самая популярная книга по контекстной рекламе в Google Ads (раньше назывался Google AdWords). Хотя она написана в 2014 году, ничего лучшего за это время так и не вышло. Считается главным учебником для всех начинающих специалистов независимо от платформы контекстной рекламы — Директ или Google Ads.

Чем полезна. Цель автора книги — научить читателя делать кликабельную рекламу за меньшие деньги. Поэтому здесь вы найдёте множество примеров удачной и неудачной рекламы. С помощью книги вы поймете, как планировать кампанию в Google Ads, составлять привлекательные объявления, а также анализировать маркетинговые KPI.

Об авторах. Перри Маршалл — бизнес-консультант, автор книг по маркетингу, основатель консалтинговой компани. Брайан Тодд — один из ведущих экспертов по Google Ads

«Комплекс платных каналов: начни тотальную охоту на клиентов«mark

Редакция блога Ingate, 2019. Скачать бесплатно на сайте агентства Ingate

Контекстная реклама — важный, но не единственный способ привлечение клиентов. Об этом напоминают специалисты агентства Ingate. В своей книге они решили показать все преимущества мультиканального подхода. На примерах реальных кейсов они разбирают эффективность комплекса из контекстной рекламы, медийных объявлений, ремаркетинга и таргетинга в соцсетях. Книгу можно скачать бесплатно с сайта Ingate.

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

Об авторах. Авторы книги — специалисты агентства с практическим опытом. В серии «Спроси у Ingate» есть и другие книги о контекстной рекламе, поисковом продвижении Instagram для бизнеса и другие.

Маркетинг

«Не заставляйте меня думать. Веб-юзабилити и здравый смысл»

Издательство Эксмо, 2021 год. Купить на Ozon

Книга гуру юзабилити Стива Круга пользуется уважением среди дизайнеров. В ней автор просто и с юмором рассказывает о принципах интуитивного дизайна. Её основная идея — сделать сайты и мобильные приложения максимально понятными и удобными для пользователя.

Чем полезна. В целом книга об интерфейсе, но благодаря ей директолог сможет обнаружить основные ошибки на сайте, из-за которых уходят клиенты. Ведь увеличить конверсию можно за счёт простых операций, например, заменить заголовок, шрифт, кнопку с призывом к действию или форму обратной связи.

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

Об авторе. Стив Круг — признанный во всем мире специалист по юзабилити, глава консалтинговой компании, работал с Apple, AOL, Netscape.

«Идеальный Landing Page. Создаем продающие веб-страницы»

Издательство Питер, 2018 г. Купить в «Лабиринте»

Landing page — посадочная страница, куда чаще всего попадают пользователи из контекстных объявлений. Эта книга пытается найти идеальную формулу такого сайта и превратить его в настоящую продающую витрину. Уже на обложке авторы книги уверяют, что если создать лендинг по их рекомендациям, то можно получать от 3 до 80 заказов в день, а также увеличить продажи через Интернет на 40–450 %.

Чем полезна. Книга поможет специалистам по контекстной рекламе находить на сайте ошибки, которые мешают пользователям купить продукт. Авторы много внимания уделяют элементам страницы, контенту и визуальной составляющей. Какой должна быть структура лендинга? Как составлять убедительные тексты и привлекать пользователей с помощью контента? Как отрабатывать возражения на странице? Помимо этого, несколько глав посвящено эффективности контекстных объявлений и веб-аналитике.

Об авторах. Петроченков Антон Сергеевич и Новиков Евгений Сергеевич — интернет-маркетологи и управляющие партнеры рекламного агентства ConvertMonster. .

«Интернет-маркетинг. Настольная книга digital-маркетолога»

Издательство Бизнес-бук, 2019 г. Купить в Ozon

Книга написана тремя практикующими маркетологами и владельцами интернет-агентства Completo, работающего с крупными B2B-клиентами. В ней они разбирают весь комплекс маркетинговых активностей со стороны директора по маркетингу. Более 350 страниц, состоящих из кейсов, чек-листов и наглядных скриншотов.

Чем полезна. Книга позволяет взглянуть на маркетинг компании в целом. В ней разбираются все маркетинговые процессы — от сегментации аудитории и контекстной рекламы до создания собственного маркетингового отдела. Книга хороша тем, что в ней есть реальные маркетинговые кейсы и рекомендации, которые применимы непосредственно к российскому рынку.

Об авторах. Гавриков Андрей Владимирович, Федоров Михаил, Давыдов Владимир — основатели маркетингового агенства Completo и онлай-курсов по интернет-маркетингу MAED.

«Маркетинг на 100 %. Ремикс»

Издательство «Манн, Иванов и Фербер», дата выхода первого издания в 2005 г. Купить на сайте издательства «МИФ»

«Маркетинг на 100 %» не относится напрямую к контекстной рекламе. Тут нет инструкций по Директу, тактик, приемов и советов по эффективному составлению объявлений. Однако мы включили ее в подборку, потому что стать профессиональным директологом без комплексного понимания маркетинга проблематично.
Первую версию своего «стопроцентного маркетинга» Игорь Манн написал в 2005 году — книга выпускается до сих пор после множество изданий и дополнений.

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

mark

В сети на книгу опубликованы десятки рецензий, авторы которых утверждают, что «Маркетинг на 100 %» стоит покупать хотя бы ради списка литературы. Его Игорь Манн приводит в конце книги и рекомендует читать для дальнейшего погружения в сферу.

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

«Маркетинговое мышление»

Издательство «Библос», 2019. Купить на сайте «Лабиринта»

По отзывам в сети труд Александра Репьева — одна из самых полезных книг для маркетологов-практиков. Рекомендована к прочтению маркетологам, копирайтерам и всем, от чьих решений зависят позиционирование и продажи.
Идеи и подходы Репьева будут полезны и PPC-специалистам, которые также должны понимать кому адресованы контекстные объявления, и как человек принимает решение о покупке. В 2017 году автор переиздал книгу в 3-й раз, добавив в очередную версию новый опыт и примеры из практики.

Чем полезна. «Маркетинговое мышление» учит смотреть на продукт и рекламу с точки зрения покупателя. Специалистам по Директу это необходимо, чтобы создавать привлекательные объявления и анализировать посадочные страницы. Кроме того, подход «от клиента» может пригодиться и при подборе поисковых фраз для рекламных кампаний.

Об авторе. Александр Репьев — один из самых опытных отечественных рекламистов. За 50 лет в маркетинге накопил богатый опыт, которым делится в книгах, статьях и на дистанционных курсах. Работал в России, США, Австрии и других странах, в послужном списке — многие крупные компании: Microsoft, Xerox, Canon и другие.

2 недели бесплатно

Сеодроид автоматизирует контекстную рекламу, чтобы сэкономить ваше время и деньги

Бид-менеджер автоматически корректирует ставки в Яндекс.Директе, чтобы вы не переплачивали за клики. Контролирует списываемую цену и снижает ставки.

Стратегии помогают получить оптимальный объем трафика и уложиться в бюджет. А еще — автоматически запускать и останавливать объявления в зависимости от дня недели, времени суток, CTR, количества кликов — всего 29 переменных.

Попробуйте автоматизировать рутину — 14 дней бесплатно.

Протестировать Сеодроид

Копирайтинг

«Пиши, сокращай: Как создавать сильный текст»

Издательство «Альпина Паблишер», 2021. Купить в магазине «Альпина. Книги»

«Оранжевая книга» Максима Ильяхова и Людмилы Сарычевой уже стала настольной для редакторов, коммерческих писателей и других специалистов, работающих с текстом. Тезисы и приемы, описанные в «Пиши, сокращай» помогают сделать материалы информативнее и лаконичнее. Однако в книге много мыслей, которые относятся непосредственно к текстам лишь косвенно, и будут полезны и другим специалистам digital-сферы, в том числе и директологам.

Чем полезна. Казалось бы, зачем директологу забивать голову структурой текста и другими понятиями, применимыми к большим форматам? Однако «Пиши, сокращай» состоит не только из советов по редактуре. Принципы заботы о читателе, правдивости и информативности текстов прослеживаются в каждой главе книги. Специалисту по контексту стоит ориентироваться на них, чтобы писать более прицельные объявления. Ну а советы про воду и редакторские тонкости помогу вместить больше смысла в 146 символов.

Об авторах. Максим Ильяхов и Людмила Сарычева — опытные редакторы и коммерческие писатели. «Тинькофф Журнал», рассылка «Мегаплана» и блог «Модульбанка» — их рук дело.

«Копирайтинг массового поражения»

Издательство «Питер», 2011. Купить электронную версию в «ЛитРес»

Первая книга копирайтера Дениса Каплунова вышла в 2014 году. Издание ориентировано на широкую аудиторию — начинающих коллег, желающих повысить свой профессиональный уровень, и предпринимателей, которые хотели бы самостоятельно составлять рекламные материалы для компании.
После этого автор выпустил еще 4 книги, но здесь мы их приводить не будем. Все таки директологи — не копирайтеры, и общих принципов создания рекламных текстов, изложенных в «Копирайтинге массового поражения», им будет вполне достаточно.

Чем полезна. Часть книги посвящена профессии копирайтера, а основные практические главы ориентированы на более длинные форматы. Однако главы про заголовки и усилители стоит прочитать и директологам, чтобы добавить в свои объявления элементы, привлекающие внимание ЦА.

Книга пригодится специалистам по контекстной рекламе, которые хотят усилить тексты объявлений, независимо от опыта работы с директом. Эти 146 символов пусть и небольшой, но тоже продающий текст. Вместить в такой маленький объем рекламное послание, которое привлечет внимание и будет продавать переход на сайт, непросто.

Об авторе. Денис Каплунов — опытный и востребованный копирайтер, основатель и руководитель студии копирайтинга.

Аналитика

«Google Analytics 2019: Полное руководство»

Издательство «ДМК Пресс», 2020. Купить на сайте автора

Книга содержит наиболее полную инструкцию на русском языке по работе с Google Analytics. Примеры написаны простым языком и к каждой теме прилагаются скриншоты, которые еще не успели устареть к 2021 году. Вы можете идти по руководству шаг за шагом или изучать только отдельные инструменты.

Чем полезна. В книге разбираются все темы, необходимые специалисту по контекстной рекламе и начинающему маркетологу: настройка целей и событий, когортный анализ, ремаркетинг, конверсии, работа с уникальным идентификатором отслеживания. Помимо этого, уделяется время и визуализации данных в Google Data Studio, Microsoft Power BI и Tableau, которые превращают разрозненные данные в аккуратные отчеты для клиента и интерактивные аналитические дашборды. mark

Об авторе. Яков Осипенков — сертифицированный специалист по контекстной рекламе, автор курсов по Google Ads, Google Analytics и Директу. Называет себя популяризатором веб-аналитики, ведёт блог osipenkov.ru и публикуется на крупных порталах по интернет-рекламе.

Читайте также: 19 специалистов, пишущих полезности о контекстной рекламе и веб-аналитике

«Google Tag Manager. Практическое руководство»

Издательство «ДМК Пресс», 2020. Купить на сайте автора

Эта книга следующая ступень в освоении Google Analytics. Единственное русскоязычное пособие, которое дает полное и системное представление о Google Tag Manager — системе управления кодами аналитики на сайте.
С помощью пособия вы научитесь добавлять на сайт теги для отслеживания пользователей без разработчика и составлять сложные маркетинговые отчеты. Книга вышла в 2020 году, поэтому данные и рекомендации в ней самые свежие.

Чем полезна. После прочтения книги сможете управлять всеми тегами в едином интерфейсе, научитесь добавлять коды сторонних сервисов на сайт, устанавливать счетчики аналитики и отслеживать нужные вам события. Также получите базовые знания по JavaScript и работе с CSS-селекторами.

Об авторе. Яков Осипенков — сертифицированный специалист по контекстной рекламе, автор курсов по Google Ads, Google Analytics и Директу. Называет себя популяризатором веб-аналитики, ведёт блог osipenkov.ru и публикуется на крупных порталах по интернет-рекламе.

«Веб-аналитика 2.0 на практике. Тонкости и лучшие методики»

Издательство «Диалектика Вильямс», 2019. Купить на Ozon

Книга Авинаша Кошика вышла в 2011 году. С тех пор в веб-технологиях многое изменилось. Однако ключевые моменты, касающиеся основных показателей и методов анализа, по-прежнему актуальны. Издательство «Вильямс» перевыпустило книгу в 2019 году.

Чем полезна. Автор рассказывает, как перейти от количественной оценки кликов к качественному анализу данных. Показывает на практике, как решения, принятые на основе такого анализа помогли увеличить ROI и сократить издержки. Большинство систем аналитики, рассмотренных в книге, проблематично применить в рунете. Однако, поняв общие принципы, их можно реализовать с помощью других инструментов.

Об авторе. Авинаш Кошик — эксперт бизнес-аналитики и преподаватель университета Британской Колумбии. Участвует в профильных конференциях, где рассказывает об оптимизации процессов, повышении ROI и снижении затрат, публикуется в официальном блоге Google Analytics.

«Много цифр. Анализ больших данных при помощи Excel»

Издательство «Альпина Паблишер», 2018. Купить в магазине «Альпина. Книга»

Мы привыкли к тому, что большие данные — это такие же большие бюджеты, и этот инструмент доступен только крупным компаниям, у которых есть средства на разработку соответствующих технологий. В своей книге Джон Форман доказывает, что это не совсем так. Автор на простых и понятных примерах показывает, как работать с Big Data, имея под рукой только пресловутый Excel. Книга вышла в 2017 году и содержит свежую и актуальную информацию.

Чем полезна. Excel — один из главных инструментов специалиста по контекстной рекламе. В книге Форман рассказывает о ее базовых и неочевидных возможностях и на примерах показывает, как их использовать в маркетинге и бизнес-аналитике. Тем, кто хорошо знает английский, но плохо знаком с Excel, лучше читать «Много цифр» в оригинале. В переводе встречаются неточности в формулах и терминах, которые могут сбить новичка с толку.

Об авторе. Джон Форман — главный специалист по данным в сервисе рассылок MailChimp. Читает лекции о трудностях внедрения аналитики в бизнес-процессы.

«Введение в Google Analytics»

Издательство «Питер», 2017. Купить на «ЛитРес»

Если вы решили начать разбираться в аналитике, то это первый учебник, который стоит освоить. В отличие от большинства книг по аналитике «Введение в Google Analytics» написана не для компаний, а для начинающих маркетологов. Поэтому здесь нет сложной терминологии, зато есть более 160 примеров из практики и пошаговые инструкции, написанные простым языком.

Чем полезна. В книге вы найдете решения большинства сложностей, с которыми сталкиваются 95 % новичков в интернет-аналитике. В ней вы узнаете, как впервые установить на сайт и настроить Google Analytics, как связать ее с Директом, как настраивать цели и создавать отчеты. Благодаря этому научитесь анализировать источники трафика и находить проблемные места, из-за которых уходят клиенты.

Об авторе. Антон Петроченков — интернет-маркетолог и управляющий партнер рекламного агентства Convert Monster, а также автор обучающих курсов по созданию посадочных страниц и веб-аналитике.

Вместо заключения

Наша подборка могла бы быть гораздо больше. Однако книг по работе с Яндекс.Директ не так много, а для изучения смежных тем на достаточном для директолога уровне хватит пары учебников. Если мы упустили какую-то очень ценную книгу, которая помогла вам добиться успехов в работе — пишите в комментариях, мы ее обязательно добавим.

Сеодроид — система управления контекстной рекламой

  • Корректирует ставки
  • Контролирует расходы
  • Автоматизирует рутину

Попробовать 14 дней бесплатно

ModuleNotFoundError: Нет модуля с именем «тапи-яндекс-директ»

Опубликовать Ответ

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

Связанные руководства/вопросы и ответы:

ModuleNotFoundError: нет модуля с именем «tapi-yandex-direct»
ModuleNotFoundError: нет модуля с именем «tapi-yandex-direct» Привет, Мой… по имени ‘тапи-яндекс-директ’ Как удалить ModuleNotFoundError: Нет модуля. .., ModuleNotFoundError: Нет ошибка модуля с именем ‘tapi-yandex-direct’ будет решена

ModuleNotFoundError: нет модуля с именем «модуль»
ModuleNotFoundError: нет модуля с именем «модуль» Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «модуль» Как удалить ModuleNotFoundError: нет модуля с именем ‘module’

Рекламные объявления

ModuleNotFoundError: нет модуля с именем ‘named-bitfield’
ModuleNotFoundError: нет модуля с именем ‘named-bitfield’ Привет! Мое… с именем ‘named-bitfield’ Как удалить ModuleNotFoundError: нет модуля с именем… установка библиотеки Python с именованным битовым полем, ModuleNotFoundError: нет модуль с именем

ModuleNotFoundError: нет модуля с именем ‘named-bitfield’
ModuleNotFoundError: нет модуля с именем ‘named-bitfield’ Привет! Мое… с именем ‘named-bitfield’ Как удалить ModuleNotFoundError: нет модуля с именем. .. установка библиотеки Python с именованным битовым полем, ModuleNotFoundError: нет модуль с именем

ModuleNotFoundError: нет модуля с именем ‘named_constants’
ModuleNotFoundError: нет модуля с именем ‘named_constants’  Привет! Мой… с именем ‘named_constants’ Как удалить ModuleNotFoundError: No module named… установка библиотеки Python named_constants, ModuleNotFoundError: Нет модуль

ModuleNotFoundError: нет модуля с именем ‘named_constants’
ModuleNotFoundError: нет модуля с именем ‘named_constants’  Здравствуйте! Мой… с именем ‘named_constants’ Как удалить ModuleNotFoundError: No module named… установка библиотеки Python named_constants, ModuleNotFoundError: Нет модуль

ModuleNotFoundError: нет модуля с именем «named_dataframes»
ModuleNotFoundError: нет модуля с именем «named_dataframes»  Привет! Мой… с именем ‘named_dataframes’ Как удалить ModuleNotFoundError: Нет модуля…: Нет ошибка модуля с именем «named_dataframes» будет устранена. Спасибо

ModuleNotFoundError: нет модуля с именем ‘named_dataframes’
ModuleNotFoundError: нет модуля с именем ‘named_dataframes’  Здравствуйте! Мой… с именем ‘named_dataframes’ Как удалить ModuleNotFoundError: Нет модуля…: Нет ошибка модуля с именем «named_dataframes» будет устранена. Спасибо

ModuleNotFoundError: Нет модуля с именем «named-dates»
ModuleNotFoundError: Нет модуля с названием «named-dates»  Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «названные даты» Как удалить ModuleNotFoundError: нет модуля с именем

ModuleNotFoundError: нет модуля с именем «named_decorator»
ModuleNotFoundError: нет модуля с именем «named_decorator»  Здравствуйте! Мой… с именем ‘named_decorator’ Как удалить ModuleNotFoundError: No module named… установка библиотеки Python named_decorator, ModuleNotFoundError: Нет модуль

ModuleNotFoundError: нет модуля с именем ‘named-enum’
ModuleNotFoundError: нет модуля с именем ‘named-enum’ Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «named-enum» Как удалить ModuleNotFoundError: нет модуля с именем

ModuleNotFoundError: нет модуля с именем ‘named-bitfield’
ModuleNotFoundError: нет модуля с именем ‘named-bitfield’ Привет! Мое. .. с именем ‘named-bitfield’ Как удалить ModuleNotFoundError: нет модуля с именем… установка библиотеки Python с именованным битовым полем, ModuleNotFoundError: нет модуль с именем

ModuleNotFoundError: нет модуля с именем ‘named_constants’
ModuleNotFoundError: нет модуля с именем ‘named_constants’  Привет! Мой… с именем ‘named_constants’ Как удалить ModuleNotFoundError: No module named… установка библиотеки Python named_constants, ModuleNotFoundError: Нет модуль

ModuleNotFoundError: нет модуля с именем ‘named_dataframes’
ModuleNotFoundError: нет модуля с именем ‘named_dataframes’  Здравствуйте! Мой… с именем ‘named_dataframes’ Как удалить ModuleNotFoundError: Нет модуля…: Нет ошибка модуля с именем «named_dataframes» будет устранена. Спасибо

ModuleNotFoundError: Нет модуля с именем «named-dates»
ModuleNotFoundError: Нет модуля с названием «named-dates»  Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «названные даты» Как удалить ModuleNotFoundError: нет модуля с именем

ModuleNotFoundError: нет модуля с именем «named_decorator»
ModuleNotFoundError: нет модуля с именем «named_decorator»  Здравствуйте! Мой. .. с именем ‘named_decorator’ Как удалить ModuleNotFoundError: No module named… установка библиотеки Python named_decorator, ModuleNotFoundError: Нет модуль

ModuleNotFoundError: нет модуля с именем ‘named-enum’
ModuleNotFoundError: нет модуля с именем ‘named-enum’ Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «named-enum» Как удалить ModuleNotFoundError: нет модуля с именем

ModuleNotFoundError: нет модуля с именем ‘named_redirect’
ModuleNotFoundError: нет модуля с именем ‘named_redirect’  Здравствуйте! Мой… с именем ‘named_redirect’ Как удалить ModuleNotFoundError: No module named… установка библиотеки Python named_redirect, ModuleNotFoundError: Нет модуль с именем

ModuleNotFoundError: нет модуля с именем «Burki_Module»
ModuleNotFoundError: нет модуля с именем «Burki_Module»  Здравствуйте! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «Burki_Module» Как удалить ModuleNotFoundError: нет модуля с именем

ModuleNotFoundError: нет модуля с именем c-module
ModuleNotFoundError: нет модуля с именем c-module Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «c-module» Как удалить ModuleNotFoundError: нет модуля с именем c-module

ModuleNotFoundError: нет модуля с именем Dragon_Module
ModuleNotFoundError: нет модуля с именем Dragon_Module Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «Dragon_Module» Как удалить ModuleNotFoundError: нет модуля с именем

ModuleNotFoundError: нет модуля с именем Dragon_Module
ModuleNotFoundError: нет модуля с именем Dragon_Module Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «Dragon_Module» Как удалить ModuleNotFoundError: нет модуля с именем

ModuleNotFoundError: нет модуля с именем ‘huik-module’
ModuleNotFoundError: нет модуля с именем ‘huik-module’ Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «huik-module» Как удалить ModuleNotFoundError: нет модуля с именем

ModuleNotFoundError: нет модуля с именем «Mathematics-Module»
ModuleNotFoundError: нет модуля с именем «Mathematics-Module» Привет! Мой. .. под названием «Математический модуль» Как удалить ошибку ModuleNotFoundError: нет модуля с именем «Математический модуль»? Спасибо Привет, В вашем

ModuleNotFoundError: нет модуля с именем «Mathematics-Module»
ModuleNotFoundError: нет модуля с именем «Mathematics-Module» Привет! Мой… под названием «Математический модуль» Как удалить ошибку ModuleNotFoundError: нет модуля с именем «Математический модуль»? Спасибо Привет, В вашем

ModuleNotFoundError: модуль с именем mkflask_module отсутствует
ModuleNotFoundError: модуль с именем mkflask_module отсутствует Привет! Мой… с именем «mkflask_module» Как удалить ModuleNotFoundError: No module named… установка mkflask_module библиотеки Python, ModuleNotFoundError: Нет модуль с именем

ModuleNotFoundError: нет модуля с именем «модуль-пакет»
ModuleNotFoundError: нет модуля с именем «модуль-пакет» Привет, Мой… с именем «модуль-пакет» Как удалить ModuleNotFoundError: No module named. .. установка библиотеки python для модуля-пакета, ModuleNotFoundError: No модуль с именем

ModuleNotFoundError: нет модуля с именем «module-reloadable»
ModuleNotFoundError: нет модуля с именем «module-reloadable»  Здравствуйте! Мой… с именем ‘module-reloadable’ Как удалить ошибку ModuleNotFoundError: нет модуля с именем «перезагружаемый модуль»? Спасибо Привет, В вашем

ModuleNotFoundError: нет модуля с именем «module-resources»
ModuleNotFoundError: нет модуля с именем «module-resources» Привет! Мой… с именем «модуль-ресурсы» Как удалить ошибку ModuleNotFoundError: нет модуля с именем «модуль-ресурсы»? Спасибо Привет, В вашем

ModuleNotFoundError: нет модуля с именем «module_salad»
ModuleNotFoundError: нет модуля с именем «module_salad»  Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «module_salad» Как удалить ModuleNotFoundError: нет модуля с именем ‘

ModuleNotFoundError: нет модуля с именем ‘module-starter. leon’
ModuleNotFoundError: нет модуля с именем ‘module-starter.leon’ Привет! Мой… по имени ‘module-starter.leon’ Как удалить ошибку ModuleNotFoundError: нет модуля с именем «module-starter.leon»? Спасибо привет

ModuleNotFoundError: нет модуля с именем «module_template»
ModuleNotFoundError: нет модуля с именем «module_template»  Здравствуйте! Мой… с именем ‘module_template’ Как удалить ошибку ModuleNotFoundError: модуль с именем… с именем ‘module_template’ не будет устранен. Спасибо

ModuleNotFoundError: нет модуля с именем «module-tracker»
ModuleNotFoundError: нет модуля с именем «module-tracker»  Здравствуйте! Мой… по имени «модуль-трекер» Как удалить ModuleNotFoundError: No module named… установка библиотеки python для отслеживания модулей, ModuleNotFoundError: No модуль с именем

ModuleNotFoundError: нет модуля с именем «module-graph»
ModuleNotFoundError: нет модуля с именем «module-graph»  Здравствуйте! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «модуль-граф». Как удалить ModuleNotFoundError: нет модуля с именем ‘

ModuleNotFoundError: нет модуля с именем «module-launcher»
ModuleNotFoundError: нет модуля с именем «module-launcher» Привет! Моя… по имени «модуль-пусковая установка» Как удалить ModuleNotFoundError: ошибка модуля с именем… с именем ‘module-launcher’ не будет устранена. Спасибо

ModuleNotFoundError: нет модуля с именем «module-loader»
ModuleNotFoundError: нет модуля с именем «module-loader»  Здравствуйте! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «загрузчик модулей» Как удалить ModuleNotFoundError: нет модуля с именем

ModuleNotFoundError: нет модуля с именем «module-log»
ModuleNotFoundError: нет модуля с именем «module-log»  Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «модуль-журнал» Как удалить ModuleNotFoundError: нет модуля с именем

ModuleNotFoundError: нет модуля с именем «имя_модуля»
ModuleNotFoundError: нет модуля с именем «имя_модуля»  Здравствуйте! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «имя_модуля» Как удалить ModuleNotFoundError: нет модуля с именем «

ModuleNotFoundError: нет модуля с именем «модуль-пакет»
ModuleNotFoundError: нет модуля с именем «модуль-пакет» Привет! Мой. .. с именем «модуль-пакет» Как удалить ModuleNotFoundError: No module named… установка библиотеки python для модуля-пакета, ModuleNotFoundError: No модуль с именем

ModuleNotFoundError: нет модуля с именем «module-reloadable»
ModuleNotFoundError: нет модуля с именем «module-reloadable»  Здравствуйте! Мой… с именем ‘module-reloadable’ Как удалить ошибку ModuleNotFoundError: нет модуля с именем «перезагружаемый модуль»? Спасибо Привет, В вашем

ModuleNotFoundError: нет модуля с именем «module-resources»
ModuleNotFoundError: нет модуля с именем «module-resources» Привет! Мой… с именем «модуль-ресурсы» Как удалить ошибку ModuleNotFoundError: нет модуля с именем «модуль-ресурсы»? Спасибо Привет, В вашем

ModuleNotFoundError: нет модуля с именем «module_salad»
ModuleNotFoundError: нет модуля с именем «module_salad»  Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «module_salad» Как удалить ModuleNotFoundError: нет модуля с именем ‘

ModuleNotFoundError: нет модуля с именем ‘module-starter. leon’
ModuleNotFoundError: нет модуля с именем ‘module-starter.leon’ Привет! Мой… по имени ‘module-starter.leon’ Как удалить ошибку ModuleNotFoundError: нет модуля с именем «module-starter.leon»? Спасибо привет

ModuleNotFoundError: нет модуля с именем «module_template»
ModuleNotFoundError: нет модуля с именем «module_template»  Здравствуйте! Мой… с именем ‘module_template’ Как удалить ошибку ModuleNotFoundError: модуль с именем… с именем ‘module_template’ не будет устранен. Спасибо

ModuleNotFoundError: нет модуля с именем «module-tracker»
ModuleNotFoundError: нет модуля с именем «module-tracker»  Здравствуйте! Мой… по имени «модуль-трекер» Как удалить ModuleNotFoundError: No module named… установка библиотеки python для отслеживания модулей, ModuleNotFoundError: No модуль с именем

ModuleNotFoundError: нет модуля с именем «модуль-оболочка»
ModuleNotFoundError: нет модуля с именем «модуль-оболочка»  Здравствуйте! Мой. .. с именем «модуль-обертка» Как удалить ModuleNotFoundError: No module named… установка библиотеки python для модуля-оболочки, ModuleNotFoundError: No модуль с именем

ModuleNotFoundError: нет модуля с именем «Module_xichengxml»
ModuleNotFoundError: нет модуля с именем «Module_xichengxml»  Здравствуйте! Мой… с именем ‘Module_xichengxml’ Как удалить ошибку ModuleNotFoundError: нет модуля с именем «Module_xichengxml»? Спасибо Привет, В вашем

ModuleNotFoundError: Нет модуля с именем «MSOffice2PS-Python-Module»
ModuleNotFoundError: Нет модуля с именем «MSOffice2PS-Python-Module»  Привет…: Нет модуля с именем «MSOffice2PS-Python-Module» Как удалить ошибку ModuleNotFoundError: нет модуля с именем «MSOffice2PS-Python-Module»? Спасибо &nbsp

ModuleNotFoundError: нет модуля с именем «my_module»
ModuleNotFoundError: нет модуля с именем «my_module»  Здравствуйте! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «my_module» Как удалить ModuleNotFoundError: нет модуля с именем «мой

ModuleNotFoundError: нет модуля с именем mytest-module
ModuleNotFoundError: нет модуля с именем mytest-module Привет! Моя программа Python выдает следующую ошибку: ModuleNotFoundError: нет модуля с именем «mytest-module» Как удалить ModuleNotFoundError: Нет модуля с именем

Использовать субтитры в yandex-tank с примерами

Лучший фрагмент кода Python с использованием yandex-tank

SubtitlesSupport. py

Источник: SubtitlesSupport.py

  1  #Имя встроенного файла: ACEStream\Core\  Подзаголовок  s\  Подзаголовок  sSupport.pyo  2  из ACEStream.Core.  Subtitle  s.MetadataDomainObjects.Languages ​​импортирует LanguagesProvider  3  из ACEStream.Core.  Подзаголовок  s.MetadataDomainObjects.MetadataDTO импортировать MetadataDTO  4  из ACEStream.Core.  Subtitle  s.MetadataDomainObjects.MetadataExceptions import RichMetadataException  5  из ACEStream.Core.  Подзаголовок  s.MetadataDomainObjects.  Subtitle  Info import  Subtitle  Info  6  from ACEStream.Core.Utilities import tools  7  from ACEStream.Core.Utilities.utilities import isValidPermid, bin2str  8  import sys 90 012 9  импорт потоков  10  ОТЛАДКА = False  11  class  Subtitle  sSupport(object):  12  __single = None  13  _singletonLock = threading. RLock()  14  def __init__(self):  15  попытка:  16   Подзаголовок  sSupport._singletonLock.acquire()  17   Подзаголовок  sSupport.__single = self  18  наконец:  19   Подзаголовок  sSupport._singletonLock.release()  20  self.richMetadata_db = Нет  21  сам.  subtitle  sHandler = None  22  self.channelcast_db = None  23  self.langUtility = LanguagesProvider.getLanguagesInstance()  24  self._registered = False  25  @staticmethod  26  def getInstance(*args, **kw):  27  try:  28   Subtitle  sS upport._singletonLock.acquire()  29  если  Subtitle  sSupport.__single == None:  30   Subtitle  sSupport(*args, **kw)  31  finally:  32   Subtitle  sSupport._sing letonLock.release()  33  return  Subtitle  sSupport.__single  34  def _register(self, richMetadataDBHandler,  subtitle  sHandler, channelcast_db, my_permid, my_keypair, peersHaveManger, ol_bridge):  35  self. richMetadata_db = richMetadataDBHandler  36  self.  subtitle  sHandler =  subtitle  sHandler  37  self.channelcast_db = channelcast_db  38  self.my_permid = my_permid  39  self.my_keypair = my_keypair  40  self._peersHaveManager = peersHaveManger  41  self._ol_bridge = ol_bridge  42  self._registered = True  43 9001 3 def getSubtileInfosForInfohash(self, infohash):  44  returnDictionary = dict( )  45  metadataDTOs = self.richMetadata_db.getAllMetadataForInfohash(infohash)  46  для metadataDTO в metadataDTOs:  47  канал = metadataDTO.channel  48   подзаголовок  s = metadataDTO.getAll  Подзаголовок  s()  49  if len(  подзаголовок  s) > 0:  50  returnDictionary[канал] = 902 77 subtitle  s  51  return returnDictionary  52  def get  Subtitle  Infos(self, channel, infohash):  53  metadataDTO = self. richMetadata_db.getMetadata(channel, infohash)  54  if metadataDTO:  55  return metadataDTO.getAll  Subtitle  s()  56  return {}  57  def publish  Subtitle  (self, infohash, lang, pathToSrt  Subtitle  ): 900 12 58  идентификатор канала = bin2str(self.my_permid )  59  base64infohash = bin2str(infohash)  60  constent = self.channelcast_db.isItemInChannel(channelid, base64infohash)  61  если не согласовано:  62  msg = ' Информационный хэш %s не найден на моем канале. Отклонение  subtitle  ' % base64infohash  63  if DEBUG:  64  print >> sys.stderr, msg  65  поднять RichMetadataException(msg)  66  try:  6 7  путь к файлу = сам.  subtitle  sHandler.copyTo  Subtitle  sFolder(pathToSrt  Subtitle  , self.my_permid, infohash, lang)  68  кроме Exception as e:  69  if DEBUG: 90 012 70  печать >> sys. stderr, 'Ошибка читать и копировать  подзаголовок  в соответствующую папку: %s' % str(e)  71  metadataDTO = self.richMetadata_db.getMetadata(self.my_permid, infohash)  72  если metadataDTO равно None:  73  metadataDTO = MetadataDTO(self .my_permid , infohash)  74  else:  75  metadataDTO.resetTimestamp()  76  new  Subtitle  =  Subtitle  Info(lang, filepath)  77  если новый 90 277 Подзаголовок  .  subtitle  Exists():  78  new  Subtitle  .computeChecksum()  79  else:  80  msg = 'Обнаружено несоответствие. Подзаголовок   не был опубликован'  81  if DEBUG:  82  print >> sys.stderr, msg  83  поднять RichMetadataException(msg)  84  metadataDTO.add  Sub заголовок  (новый  Подзаголовок  )  85  metadataDTO.sign(self.my_keypair)  86  self.richMetadata_db.insertMetadata(metadataDTO)  87  извлечение по умолчанию  Подзаголовок  Содержимое (я, канал, информационный хеш,  подзаголовок  Информация, обратный вызов = Нет):  88  если  подзаголовок Название  Информация.   subtitle  Exists():  89  if  subtitle  Info.verifyChecksum():  90  callback(  subtitle  Info)  91  return  92 900 13 если ОТЛАДКА:  93  print >> sys.stderr, '  Подзаголовок  доступен локально, но имеет неверную контрольную сумму. Выдача другой загрузки'  94   subtitle  Info.path = None  95  languages ​​= [  subtitle  Info.lang]  96  def call_me_when_  subtitle  _arrives(list OfLanguages):  97 , если обратный вызов не None:  98  sub = self.richMetadata_db.get  Подзаголовок  (channel, infohash, listOfLanguages[0])  99  callback(sub)  100  self._queryPeersFor  Subtitle  s(channel, infohash, languages, call_me_when_  subtitle  _arrives) 9 0012 101  def retrieveMultiple  Подзаголовок  Содержание (self, channel, infohash, listOfSubInfos, callback = None):  102  languages ​​= []  103  locallyAvailableSubs = []  104  для субтитров   Информация в listOfSubInfos:  105 , если  подзаголовок  Info. checksum is None:  106  if DEBUG:  107  print >> sys.stderr, 'Нет контрольной суммы для  подзаголовка  %s. Пропустить его в запросе' %  подзаголовок  Информация  108  продолжить  109  если  подзаголовок  Информация.  подзаголовок  Exists():  110  if  подзаголовок  Info.verifyChecksum():  111  locallyAvailableSubs.append(  subtitle  Info)  112  continue  113  else:  114  if DEBUG:  115  print >> sys.stderr, ' 90 277 Подзаголовок  доступен локально, но имеет неверную контрольную сумму. Выдача другой загрузки'  116   подзаголовок  Info.path = None  117  languages.append(  подзаголовок  Info.lang)  118 , если len(locallyAvailableSubs) > ​​0 и обратный вызов не None:  119  callback(locallyAvailableSubs)  120  def call_me_when_  subtitle  s_arrive( listOfLanguages):  121 , если обратный вызов не None:  122  subinfos = list ()  123  All  Subtitle  S = Self. Richmetadata_DB.Getall  Subtitle  S (канал, Infohash)  124  для Lang в списке0012 125  subInfos.append(all  Subtitle  s[lang])  126  callback(subInfos)  127  if len(languages) > 0:  128  self._queryPeersFor  Подзаголовок  s(канал, информация, языки , call_me_when_  subtitle  s_arrive)  129  def _queryPeersFor  Subtitle  s(self, channel, infohash, languages, callback):  130  def task():  131  бит маска = self.langUtility.langCodesToMask(языки)  132  если не битовая маска > 0:  133  если DEBUG:  134  print >> sys.stderr, 'Не будет отправлять запрос на 0  подзаголовок  s'  135  вернуть 9001 2 136  peers_to_query = self._peersHaveManager .getPeersHaving(channel, infohash, bitmask)  137  для пира в peers_to_query:  138  self.  подзаголовок  sHandler.send  Подзаголовок  Запрос (одноранговый узел, канал, информационный хеш, языки, обратный вызов)  139  self. _ol_bridge.add_task(task)  140  def runDBConsinstencyRoutine(self):  141  результат = self.richMetadata_db.getAllLocal  Подзаголовок  с()  142  для канала в результате:  143  для информационного хеша в результате [канал]:  144  для вспомогательной информации в результате [канал] [инфохеш]:  145 , если не вспомогательная информация.  подзаголовок  Exists():  146  if channel == self.my_permid:  147  metadataDTO = self.richMetadata_db.getMetadata(channel, infohash)  148  metadataDTO.remove  Subtitle  (subInfo.lang )  149  метаданныеDTO. sign(self.my_keypair)  150  self.richMetadata_db.insertMetadata(metadataDTO)  151  еще:  ...  

views.py

Source:views.py

  ...   92  для  подзаголовок 902 78 в СМИ.  subtitle  _files:  93  if  subtitle  ["id"] == id:  94  path =  subtitle  ["filepath"]  95  text = ""  96  значение = open_  подзаголовок  (путь)  97  текст, статус = значение [0], значение [1]  98 , если статус == Истина:  99  form = forms. Customize  Subtitle  sForm(request.form,  100   subtitle  =text)  101  if request.method == 'POST' and form.validate():  1 02   подзаголовок  _data = форма.  subtitle  .data  103  status = save_  subtitle  (path,  subtitle  _data)  104  if status == True:  105  messages.add_message(  106  запрос,  107  сообщения.УСПЕХ,  108  (" Субтитры  файл изменен!!!"))  109  возврат перенаправления(запрос,  110  location=media.url_for _self (запрос.urlgen))  111  еще:  112  messages.add_message(  113  запрос,  114  сообщения.ОШИБКА,  115  ("Не удалось отредактировать  подзаголовок  s!!!"))  116  return redirect(request,  117  location=media.url_for_self(request.urlgen))  ...  
900 02

default.py

Источник: default.py

  1  # -*- кодировка: utf-8 --*-  2  4  система импорта  5  импорт xbmc  6  import xbmcgui  7  import xbmcaddon  8  import time  9  import urllib  10  import urllib2  11  import base64  12  import hashlib  13  TRANSLATED_  SUBTITLE  _FILE_NAME = "переведено  Subtitle  . srt"  14  PLUGIN_  SUBTITLE  _FILENAME = "temp_sub.en.srt"  15  PLUGIN_  SUBTITLE  _PATH = xbmc.translatePath('special://masterprofile/addon_data/script.xbm c.  подзаголовок  s/sub_stream/temp_sub.en.srt')  16  TRANSLATING_TEXT = 'Перевод...'  17  QUICK_TRANSLATE_URL = 'https://explain.cc/app/quick  Подзаголовок  Перевод'  18 900 13 ГОЛОВА = 'Explain.CC'  19  ПЕРЕВОД_  SUBTITLE  _FILENAME = xbmc.translatePath('special://masterprofile/addon_data/translated  Subtitle  .srt')  20  EMPTY_STRING = "" 90 012 21  кэшировано  Подзаголовок  = ""  22  def isPlugin  Подзаголовок  s(  subtitle  sName):  23  return PLUGIN_  SUBTITLE  _FILENAME ==  subtitle  sName  24  def isTranslated  Subtitle  s(  sub title  sName):  25  return TRANSLATED_  SUBTITLE  _FILE_NAME ==  subtitle  sName  26   27  def readFile(path) :  28  print path # Ошибка в Ubuntu, файл не виден.  29  печать os.path.isfile(путь)  30  если os.path.isfile(путь) :  31  f = open(path,'r')  32  content = f.read()  33  возврат содержимого  34  возврат ""  35  def writeFile(absoluteFilename, content) :  36 9 0013 ф = open(absoluteFilename,'w')  37  f.write(content)  38  f.close()  39  def save  Subtitle  s(content) :  40  print TRANSLATED_  SUBT ITLE  _FILENAME  41  writeFile(ПЕРЕВОД_  SUBTITLE  _FILENAME, содержание)  42  def get  Subtitle  ContentFromPluginFile() :  43  return readFile(PLUGIN_  SUBTITLE  _PATH)  44  def getTranslated  Subtitle  Content () :  45  возврат readFile (ПЕРЕВОД_  SUBTITLE  _FILENAME)  46  def quick  Subtitle  Translate(  subtitle  ) :  47  popup = xbmcgui.DialogProgress()  48  popup.create(HEAD, TRANSLATING_TEXT)  49  ответ = EMPTY_STRING  50  попытка:  51  запрос = urllib2. Request(QUICK_TRANSLATE_URL)  52  request.add_header("Авторизация",getBasicAuthentication())  53  params = urllib.urlencode({'  подзаголовок  ':  подзаголовок  })  54  ответ = urllib2.urlopen(запрос, параметры).read()  55  ответ печати;  56  кроме Exception as inst:  57  popup.close()  58  xbmc.executebuiltin('Notification(Explain.CC,%s,20000)' % str(inst))  59  popup.close()  60  возврат ответа  61  def setTranslated  Подзаголовок  (  подзаголовок  ) :  62  переведено  Подзаголовок  = быстро 9 0277 Подзаголовок  Перевести(  подзаголовок  )  63  сохранить  Subtitle  s(переведено  Subtitle  )  64  player.set  Subtitle  s(TRANSLATED_  SUBTITLE  _FILENAME)  65  return translation  Subtitle 9027 8  66  def save  Subtitle  InCache(  subtitle  ) :  67  global cached  Subtitle   68  cached  Subtitle  =  subtitle   69  def isUserAgreeToTranslate  Subtitle  s() :  70  диалог = xbmcgui. Dialog()  71  return dialog.yesno(HEAD, 'Вы хотите перевести  субтитры  s?')  72  def getBasicAuthentication() :  73  addon = xbmcaddon.Addon()  74  login = addon.getSetting('login')  75  password = addon.getSetting('password')  76  print hashlib.md5(login+password).hexdigest()  77  auth = base64.encodestring ('%s:%s' % (логин, hashlib.md5(логин+пароль).hexdigest())).replace('\n','')  78  return 'Basic %s' % auth  79  def read  Subtitle  (  subtitle  Name) :  80  if isPlugin  Subtitle  s(  subtitle  Name) :  81   subtitle  = получить  Subtitle  ContentFromPluginFile()  82  elif isTranslated  Subtitle  s(  subtitle  Name) :  83 900 13  subtitle  = getTranslated  Subtitle  Content()  84  else :  85   subtitle  = readFile(  subtitle  Name)  86  return  subtitle   87  def is  Subtitle  Changed(  subtitle  Name) :  88  print len(read  Subtitle  (  subtitle  Name))  89  print len(cache  Subtitle  )  90  return read  Subtitle  (  подзаголовок  Имя) != кэшировано  Subtitle   91  player = xbmc.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *