import requests import json import datetime from odps import ODPS # ODPS服务配置 ODPS_CONFIG = { 'ENDPOINT': 'http://service.cn.maxcompute.aliyun.com/api', 'ACCESSID': 'LTAIWYUujJAm7CbH', 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P', } class OdpsDataCount: @classmethod def get_data_count(cls, project, table, dt, url, name, channel_id): odps = ODPS( access_id=ODPS_CONFIG['ACCESSID'], secret_access_key=ODPS_CONFIG['ACCESSKEY'], project=project, endpoint=ODPS_CONFIG['ENDPOINT'] ) try: sql = f'SELECT targetcnt FROM {project}.{table} WHERE dt = "{dt}" and user = "{url}" and name = "{name}" and channel = "{channel_id}"' with odps.execute_sql(sql).open_reader() as reader: row = next(reader) data_value = row['targetcnt'] if row else None except Exception as e: print(f"An error occurred: {e}") return None return data_value @classmethod def main(cls, channel_id, name, url): # url ='3xcvnyxrngrpwem' # channel_id = '快手' dt = datetime.datetime.now().strftime('%Y%m%d') project = 'loghubods' table = 'spider_supply_targetcnt' data_count = cls.get_data_count(project=project, table=table, dt=dt, url=url, name=name, channel_id=channel_id) return data_count if __name__ == '__main__': OdpsDataCount.main()