Example #1
0
 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)
Example #2
0
    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)
Example #3
0
        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(','))))
Example #4
0
    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 將新聞預測結果存入每日之新聞資料')