Exemplo n.º 1
0
def add_groups (campaign_name, restaurant_id, name): #добавляет группу объявлений в нужную кампанию
    data_json = json_parse.main()
    adwords_client = adwords.AdWordsClient.LoadFromStorage('googleads.yaml')

    #здесь хранятся название и айди кампании
    with open ('campaign_name_id.csv', 'r') as a:
     reader = csv.reader(a, delimiter='\n')
     for data in reader:
         name_id=data[0].split(',') #лист хранит найзвание и айди
         if (campaign_name==name_id[0]): #проверяет название кампании с названием кампании в файле
             CAMPAIGN_ID = '%s' % name_id[1] #если они равны то достает кампании айди

             print("CAMPAIGN_ID {}, campaign name {}".format(CAMPAIGN_ID, campaign_name))
             checked_id=check.main(restaurant_id) #проверяет залит ли этот ресторан
             if (checked_id==True): #если True значит не залит и нужно добавлять группу объявлений
                 print("Начинаю заливать")
                 add_ad_groups.main(adwords_client, CAMPAIGN_ID, restaurant_id, name, campaign_name) #заливает группу объявлений
Exemplo n.º 2
0
def add_text_keywords(): #добавляет объявления и ключевые слова группы
    adwords_client = adwords.AdWordsClient.LoadFromStorage('googleads.yaml')

    data_json=json_parse.main()
    for data in data_json:
        group_name="["+str(data["id"])+"]"+data["title"] #название группы в форме [id]Name_of_restaurant
        category=data["categories"][0]["title"] #категория
        name=data["title"] #название ресторан
        finalUrls=data["menu_url"] #ссылка
        id=data["id"] #айди


        with open ('ad_groups_name_id.csv', 'rt') as a: #смотрит по названию группы и достает его айди из файла
            reader = csv.reader(a, delimiter='\n')
            for data in reader:
                name_id=data[0].split(',')
                if (group_name==name_id[0]): #сравнивет название группы и название из файла
                    AD_GROUP_ID=name_id[1] #если равны достает его айди
                    add_expanded_text_ads.main(adwords_client, AD_GROUP_ID, category, name, finalUrls) #передает все данные на добавления оюъявления
                    add_key.main(adwords_client, AD_GROUP_ID, id) #передает все данные на добавление ключевиков
                    check.add(id)
                    delete.main(id, name, AD_GROUP_ID) #удаляет из файла полностью новые залитые ресторана
#!/usr/bin/env python
# -*- coding: utf-8 -*-

""""Главный файл который нужно запускать. По городу определяет кампанию в которую надо добавить группу"""
import sys
sys.path.insert(0, '/home/user/Desktop/adwords_editing/adwords_add_new_restoran(Completed)/main.py')

import json_parse
import main
import check

#от API chocofood достает город сравнивает
data_json=json_parse.main()
for data in data_json:
    id=data["id"]
    city=data["city"]
    name=data["title"]
    print("Айдишка", id)
    print("Gorod", city)

    #checked_id=check.main(id) #проверяет залит ли этот ресторан
    #if (checked_id==True): #если True значит не залит и нужно добавлять группу объявлений
        #add_ad_groups.main(adwords_client, CAMPAIGN_ID, restaurant_id, name, campaign_name) #заливает группу объявлений

     #   print("Заливка начинается", id)

    if(city=="Алматы"): #если это Алматы то передает что название кампании "Рестораны Алматы"
        campaign_name="Рестораны Алматы"
        main.add_groups(campaign_name, id, name) #вызывает на добавление группы и передает данные
        main.add_text_keywords() #вызывает на добавление объявления, ключей и передает данные
        print(name, city)
Exemplo n.º 4
0
import logging
import time
from googleads import adwords
import json
import requests
import re
import get_campaigns
import get_ad_groups
import json_parse
import ad_group_stop
#auth info
adwords_client = adwords.AdWordsClient.LoadFromStorage(
    '/Users/leo/Documents/Obuchenie/AdWordsPython/googleads.yaml')

#get feed
rest_feed = json_parse.main()
#get all campaigns
campaigns_feed = get_campaigns.main(adwords_client)
#get list of dicts of ad groups in campaigns, dict(Ad group NAME:Ad group ID)
ads_group_feed = {}
for campaign in campaigns_feed:
    ads_group_feed.update(get_ad_groups.main(adwords_client, campaign))

for ad_group_name in ads_group_feed:
    for rest in rest_feed:
        rest_id = '[%s]' % rest['id']
        if rest_id in ad_group_name:
            if rest['status'] == 'active':
                ad_group_stop.main(adwords_client,
                                   str(ads_group_feed[ad_group_name]),
                                   'ENABLED')
Exemplo n.º 5
0
def main(id):
    data_json = json_parse.main()  #читает данные с API chocofood,
    all_keywords = []  #хранит все ключевые слова в листе

    c = [
        "меню", "заказать", "заказ", "сайт", "чокофуд", "chocofood", "цены",
        "отзывы"
    ]  #нужно для формулы

    # c=["меню".decode("utf-8"),  "заказать".decode("utf-8"), "заказ".decode("utf-8"), "сайт".decode("utf-8"), "чокофуд".decode("utf-8"),
    # "chocofood".decode("utf-8"), "цены".decode("utf-8"), "отзывы".decode("utf-8")] #нужно для формулы
    a = []  #чтоб хранить название ресторана

    for data in data_json:
        #print(data["id"])
        city = data["city"]  #город
        if (
                data["id"] == id
        ):  #айди ресторана, определяет для какого ресторана генерить ключевики

            # #n=re.sub(" '|!|`|№|«|»|’|(|)", "", data["title"])
            # #n = re.sub(r"(^| )[^ ]*[^A-Za-z ][^ ]*(?=$| )", "", data["title"])
            # n  = re.sub(r'[^A-Za-z]', '', data["title"])
            # print("name", data['title'])
            # print("After Removing", n)
            #name1=data["title"].split(" ") #если ресторана название состоит из двух слов и добавлять перед каждым словом +

            whitelist = set(
                'abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ абвгдеёжзийклмнопрстуфхцчшщъыьэюя АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'
            )
            kek = ''.join(filter(whitelist.__contains__, data))

            #print("name", data)
            #print("After Removing", kek)
            n = re.sub(' +', ' ', kek)
            print("After removing musor from name", n)
            name1 = n.split(" ")

            s = " +"
            for d in name1:
                a.append(d)

            name = "+" + s.join(a)
            name2 = "+" + (translit(s.join(a), 'ru'))  # с латиницы на кирилицу

            all_keywords.append(name)  #все ключевики складываются в этот лист
            all_keywords.append(name2)

            if city == "Нур-Султан (Астана)":
                city = "НурСултан Астана"

            b = [city, "Доставка", "Доставка +%s" % city]  #тоже для формулы

            for i in b:
                key2 = name + " " + "+" + str(i)
                key22 = name2 + " " + "+" + str(i)
                all_keywords.append(key2)
                all_keywords.append(key22)

            for k in c:
                key3 = name + " " + "+" + k
                key33 = name2 + " " + "+" + k
                all_keywords.append(key3)
                all_keywords.append(key33)
        #else:
        #print("NOT")
    print(all_keywords)
    return (all_keywords)  #возвращает лист всех ключевиков
Exemplo n.º 6
0
# -*- coding: utf-8 -*-

import os
import get_json_v3
import json_parse
import download_process
from multiprocessing import freeze_support

if __name__ == '__main__':
    # 解决使用 pyinstaller 打包程序后,多进程错误
    freeze_support()

    get_json_v3.main()
    json_parse.main()
    download_process.main()  # 多进程

    os.system("pause")