def __init__(self, time=None): if time is None: time = datetime.datetime.now().strftime('%Y-%m-%d') self.time = time #time = pd.to_datetime(time) self.conn = connectDB() self.update(time)
def __init__(self, target, PushDate=None, Title='測試推播', Content='無內文', PushFile='NULL', FileName='NULL'): now = datetime.datetime.now() if PushDate is None: PushDate = now.strftime('%Y/%m/%d') Object = f'、{target}、' CreateAccount = target PT_no = f'{PushDate} {Title} {now.strftime("%H%M%S")}' CreateDate = now.strftime('%Y/%m/%d %H:%M:%S') Title = f'{Title}[{now.strftime("%Y/%m/%d")}]' self.conn = connectDB() self.Notification(PushDate, Title, Content, PushFile, FileName, Object, CreateAccount, PT_no, CreateDate) self.NotificationUnread(PushDate, Title, CreateAccount, PT_no, CreateDate)
if foot.text == '': try: newslist = driver.find_element(By.ID, 'rso') newslist = newslist.find_elements(By.CSS_SELECTOR, 'div[class="g"]') count = len(newslist) except: count = 0 else: res = foot.find_element(By.TAG_NAME, 'tr').find_elements(By.TAG_NAME, 'td') count = (len(res) - 2) * 9 df.loc[ii]['次數'] = count conn = connectDB() TIME = today.strftime('%Y-%m-%d') sql = f'''SELECT TOP (1000) a.ID, a.ChemicalChnName, c.theme_name FROM [ChemiBigData].[dbo].[網路擷取分析_國內proc1_新聞對應化學物質] a inner join [ChemiBigData].[dbo].[新聞分群_國內新聞_結果] b on a.id=b.id inner join [ChemiBigData].[dbo].[新聞分群_主題] c on b.label = c.theme_id where cast(updatetime as date) = '{TIME}' ''' sql = ' '.join(sql.split()) chemilist = conn.fetch(sql) chemilist = chemilist.drop_duplicates(subset=['ID', 'ChemicalChnName']) chemilist = chemilist.pivot_table( index='ChemicalChnName', aggfunc=lambda i: ','.join(set((','.join(i)).split(','))))
data = data.drop_duplicates(subset='news_content') data.update_time = datetime.datetime.now() return data if __name__ == '__main__': if len(sys.argv) > 1: UPDATE_TIME = sys.argv[1] print(f' >> Condition 1: 讀取到使用者輸入的「日期」:{UPDATE_TIME}') elif len(sys.argv) > 0: UPDATE_TIME = datetime.datetime.today().strftime('%Y-%m-%d') print(f' >> Condition 2: 處理日期:{UPDATE_TIME}') print(f' 0. 讀取資料庫資料') c = connectDB() data = c.fetch(makesql()) print(f' >>> 0.1 資料前處理') data = preproc(data) print(f' >>> 0.2 讀取到{len(data)}筆新聞資料,將資料寫入待預測資料 "DATA/pred_set.xlsx"') data.to_excel(f'DATA/pred_set_aboard.xlsx', index=False) print(f' 1. 尋找新聞內出現之化學物質') exec(open('./6.findChemistry_aboard.py').read()) print(f' 2. 開始預測新聞分類') exec(open('./7.NewsClassify_aboard.py').read()) print(f' >>> 2.1 將新聞預測結果存入每日之新聞資料')