Your Name 4 tahun lalu
induk
melakukan
7598afa54e
3 mengubah file dengan 136 tambahan dan 0 penghapusan
  1. 120 0
      hhh/gspace_fetch_ranks.py
  2. 15 0
      hhh/main.py
  3. 1 0
      rest-server/main.py

+ 120 - 0
hhh/gspace_fetch_ranks.py

@@ -0,0 +1,120 @@
+from selenium import webdriver
+import time
+import networkx as nx
+import dataset
+import pickle
+import codecs
+from selenium.webdriver.common import keys
+from selenium.webdriver.common.keys import Keys
+import sys
+import os
+import time
+import re
+import pandas as pd
+import df2sheet
+from browser_common import JBrowser
+import datetime
+import dataset
+
+db = dataset.connect('sqlite:///c:/tmp/hhh.db')
+
+def get_designer_statistics(designer_list):
+    jb=JBrowser()
+    jb.set_profile_path("Profile 7")
+    #q='萬寶隆空間設計團隊'
+    #q='含仰空間設計'
+    #q='承炫裝修有限公司'
+    #q='寓子設計'
+    #q='水水設計'
+    #q='廣延空間設計'
+    #q='里摩室內裝修設計'
+#    qlist=['三宅一秀','元均制作','采品室內設計','比沙列室內','澤序空間設計','禾築國際設計','恆岳空間設計','優尼客空間設計','摩登雅舍','亞維空間設計','采舍空間設計','雅典設計','IS國際設計','上築空間設計','京璽國際','禾亞國際室內','我思空間設計','雲方室內設計','允庭室內裝修','富億空間設計','格綸設計','浩室設計','豐聚室內設計','唐林建築室內','沛沛國際室內設計','']
+    #q=qlist[0]
+
+    details=[]
+    masters=[]
+
+    for q in qlist:
+
+        googleurl='https://www.google.com/search?q='+q
+
+        jb.get(googleurl)
+
+        driver=jb.get_driver()
+        time.sleep(3)
+
+
+        elmts=driver.find_elements_by_xpath("//div[@class='g']//div[@class='yuRUbf']//a")
+        idx=1
+        ranking=-1
+        for elmt in elmts:
+            href=elmt.get_attribute('href')
+            txt=elmt.text
+            if len(txt)>10:
+                if 'hhh.com.tw' in href:
+                    ranking=idx
+    #                h_table.insert({'designer':q,'title':txt,'url':href,'ranking':idx})
+                    masters.append({'designer':q,'title':txt,'url':href,'ranking':idx})
+
+                print(href)
+                print(txt)
+    #            table.insert({'designer':q,'title':txt,'url':href,'ranking':idx})
+                details.append({'designer':q,'title':txt,'url':href,'ranking':idx})
+
+                idx+=1
+
+        time.sleep(3)
+
+#    print(masters)
+#    print(details)
+    return {'masters':masters,'details':details}
+
+def find_master_by_designer(masters,designer):
+    for m in masters:
+        if m['designer']==designer:
+            return m
+
+#qlist=['元均制作']
+#qlist=['三宅一秀']
+#qlist=['采品室內設計']
+#qlist=['寓子設計']
+#qlist=['綵韻室內設計','春雨時尚空間','阿曼空間設計','雅典設計','境庭國際設計']
+#qlist=['豐聚室內裝修','張馨室內設計','尚藝室內裝修','富億空間設計','比沙列室內裝修']
+#qlist=['森境王俊宏設計','格綸設計','齊舍設計','采舍空間設計','大琚空間設計']
+#qlist=['將作空間','昱承室內裝修','YHS DESIGN','德本迪室內設計','東風室內設計']
+#qlist=['陶璽空間設計','惹雅國際設計','浩室設計','藝谷空間設計','IS國際設計']
+#qlist=['摩登雅舍室內','星葉室內裝修','浩室設計','演拓空間','千綵胤空間']
+#qlist=['京璽國際','元典設計','朱英凱室內設計','亞維空間設計','馥築時尚設計']
+#qlist=['文儀室內裝修','寓子設計','恆岳空間設計','卓林室內設計','歐德傢俱']
+#qlist=['大久空間設計','成綺空間設計','知域設計','尚展空間設計','演繹動線空間']
+#qlist=['苡希創意設計','玖柞設計','維耕設計','昱森室內設計','上築空間設計']
+#qlist=['HATCH合砌設計','至文室內裝修','上陽設計','禾禾設計','聯寬室內裝修']
+
+#設計
+#qlist=['三宅一秀','萬寶隆空間設計','含仰空間設計','元均制作','承炫裝修']
+
+
+qlist=[]
+cursor=db.query('select name from monitor_list order by updated asc limit 20')
+for c in cursor:
+    qlist.append(c['name'])
+
+results=get_designer_statistics(qlist)
+print(results)
+
+table=db['monitor_list']
+table_details=db['table_details']
+
+
+for q in qlist:
+    df = pd.DataFrame(columns=('designer','title','url','ranking','幸福空間排名','更新時間'))
+    r=find_master_by_designer(results['masters'],q)
+    idx=0
+    dtstr=datetime.datetime.now().strftime("%Y-%m/%d %H:%M:%S")
+    table.upsert({'name':q,'updated':datetime.datetime.now()},keys=['name'])
+    for d in results['details']:
+        if d['designer']==q:
+            df.loc[idx]=[d['designer'],d['title'],d['url'],d['ranking'],r['ranking'],dtstr]
+            idx+=1
+    df2sheet.save_sheet(df,'designer_ranking',q,startpos='A1')
+

+ 15 - 0
hhh/main.py

@@ -0,0 +1,15 @@
+from fastapi import FastAPI
+import sys
+import os
+
+app = FastAPI()
+
+@app.get("/domain/{domain_name}")
+async def test_domain(domain_name):
+    return {"item_id": domain_name}
+
+@app.get("/")
+async def root():
+    return {"message": "test"}
+
+

+ 1 - 0
rest-server/main.py

@@ -11,6 +11,7 @@ async def read_item(item_id):
     return {"item_id": item_id}
 
 
+
 @app.get("/bhouse/{month_num}")
 async def montyly_rep(month_num):
     rep=bhouse_lib.get_monthly_report(int(month_num))