zooeytsai 2 years ago
parent
commit
669a6a577e
3 changed files with 201 additions and 3 deletions
  1. 5 3
      SEO/news_clickbot.py
  2. 100 0
      choozmo/ads_csv_gdn.py
  3. 96 0
      choozmo/ads_csv_local.py

+ 5 - 3
SEO/news_clickbot.py

@@ -53,10 +53,12 @@ def restart_browser(pport):
 
 
 def process_one(pport):
 def process_one(pport):
     db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/seo?charset=utf8mb4')
     db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/seo?charset=utf8mb4')
-    lst = ['好睡王 引新聞','好睡王 Yahoo','好睡王 HiNet','好睡王 PCHOME','好睡王 蕃新聞','好睡王 新浪','好睡王 台北郵報','好睡王 LIFE.tw','好睡王 match生活網','好睡王炎炎夏日 POPDAILY','好睡王 LINE TODAY']
+    lst = []
     table = db['news_log']
     table = db['news_log']
-
-    for term in lst[7::]:
+    cursor = db.query("select * from seo.news_kw")
+    for c in cursor:
+        lst.append([c['term']])
+    for term in lst:
         print(term)
         print(term)
         logger.debug('[clickbot_100][' + term + ']')
         logger.debug('[clickbot_100][' + term + ']')
         driver = restart_browser(pport)
         driver = restart_browser(pport)

+ 100 - 0
choozmo/ads_csv_gdn.py

@@ -0,0 +1,100 @@
+import csv
+import sys
+import codecs
+import pandas as pd
+
+with codecs.open('/Users/zooeytsai/Documents/220628有夠讚GDN.csv', 'r', 'utf-16') as csvfile:
+    spamreader = csv.reader(csvfile, delimiter='\t', quotechar='|')
+    # df = pd.read_csv('/Users/zooeytsai/Documents/220628有夠讚GDN.csv', encoding='utf16')
+    kwdict = {}
+    addict = {}
+    d = {}
+    head = True
+    for row in spamreader:
+        # print(row)
+        if head:
+            head = False
+            continue
+        ll = len(row)
+        campaign = row[0]
+        adgroup = row[19]
+        # print(adgroup)
+        kw = row[47]
+
+        # if len(kw) > 0:
+            # print(campaign)
+            # print(adgroup)
+        if kwdict.get(adgroup) is None:
+            kwdict[adgroup] = []
+        if addict.get(adgroup) is None:
+            addict[adgroup] = []
+        if d.get(adgroup) is None:
+            d[adgroup] = []
+        kwdict[adgroup].append(kw)
+
+        for i in range(59, 65): #加了Long headline
+            hline = row[i]
+            # print(hline)
+            if len(hline) > 0:
+                print(addict[adgroup])
+                addict[adgroup].append(hline)
+        for i in range(65, 67):
+            hline = row[i]
+            # print(i, hline)
+            if len(hline) > 0:
+                d[adgroup].append(hline)
+        # print(addict)
+fw = codecs.open('/Users/zooeytsai/Documents/有夠讚GDN廣告datastudio.csv', 'w', 'utf-8')
+fw.write("活動,群組,關鍵字,廣告標題,廣告內容")
+for k, v in kwdict.items():
+    kwlen = len(v)
+    adlen = len(addict[k])
+    totlen = max(kwlen, adlen)
+    for i in range(totlen):
+        print(campaign)
+        try:
+            kw = v[i]
+        except:
+            kw = ' '
+        try:
+            ad = addict[k][i]
+            # print(ad)
+        except:
+            ad = ' '
+        try:
+            ad1 = d[k][i]
+            # print(ad)
+        except:
+            ad1 = ' '
+        data = "\n" + campaign + "," + k + "," + kw + "," + ad + "," + ad1
+        fw.write(data)
+
+fw.close()
+
+#    for k,v in addict.items():
+#        print('rectangle '+k+'_ad'+' {')
+#        print('card '+k+'廣告'+' [')
+
+#        for itm in v:
+#            print(itm)
+#        print(']')
+#        print('}')
+
+
+#        print(campaign+' -[#black]-> '+k+'_ad')
+
+
+#    print(kwdict)
+#    print(addict)
+
+
+#    for row in spamreader:
+#        ll=len(row)
+#
+#        for i in range(ll):
+#            print(i)
+#            print(row[i])
+#        break
+
+#
+#    sys.exit()

+ 96 - 0
choozmo/ads_csv_local.py

@@ -0,0 +1,96 @@
+import csv
+import sys
+import codecs
+import pandas as pd
+
+with codecs.open('/Users/zooeytsai/Documents/220704有夠讚地標廣告.csv', 'r', 'utf-16') as csvfile:
+    spamreader = csv.reader(csvfile, delimiter='\t', quotechar='|')
+    # df = pd.read_csv('/Users/zooeytsai/Documents/220628有夠讚GDN.csv', encoding='utf16')
+    kwdict = {}
+    addict = {}
+    campagindict = {}
+    d = {}
+    head = True
+    for row in spamreader:
+        # print(row)
+        if head:
+            head = False
+            continue
+        ll = len(row)
+        campaign = row[0]
+        adgroup = row[18]
+        # print(adgroup)
+        # print(adgroup)
+        # kw = row[47]
+
+        # if len(kw) > 0:
+            # print(campaign)
+            # print(adgroup)
+        if kwdict.get(adgroup) is None:
+            kwdict[adgroup] = []
+        if addict.get(adgroup) is None:
+            addict[adgroup] = []
+        if d.get(adgroup) is None:
+            d[adgroup] = []
+        # kwdict[adgroup].append(kw)
+
+        for i in range(54, 59): #headline
+            hline = row[i]
+            # print(hline)
+            if len(hline) > 0:
+                # print(addict[adgroup])
+                addict[adgroup].append(hline)
+        for i in range(59, 64): #Description
+            hline = row[i]
+            # print(i, hline)
+            if len(hline) > 0:
+                d[adgroup].append(hline)
+    # print(addict)
+fw = codecs.open('/Users/zooeytsai/Documents/有夠讚地標廣告datastudio.csv', 'w', 'utf-8')
+fw.write("群組,廣告標題,廣告內容")
+
+
+for k,v in addict.items():
+    for i in range(len(v)):
+        try:
+            ad = addict[k][i]
+            # print(ad)
+        except:
+            ad = ' '
+        try:
+            ad1 = d[k][i]
+            print(ad1)
+        except:
+            ad1 = ' '
+        data = "\n" + k + "," + ad + "," + ad1
+        fw.write(data)
+
+fw.close()
+
+#    for k,v in addict.items():
+#        print('rectangle '+k+'_ad'+' {')
+#        print('card '+k+'廣告'+' [')
+
+#        for itm in v:
+#            print(itm)
+#        print(']')
+#        print('}')
+
+
+#        print(campaign+' -[#black]-> '+k+'_ad')
+
+
+#    print(kwdict)
+#    print(addict)
+
+
+#    for row in spamreader:
+#        ll=len(row)
+#
+#        for i in range(ll):
+#            print(i)
+#            print(row[i])
+#        break
+
+#
+#    sys.exit()