123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- from model.sql_models import DB
- from config.using_config import quchen_text, dm
- import pandas
- import requests
- import time
- def update_media_info():
- # 1.按用户维度获取图片
- sql = '''
- select foo.account_id ,access_token ,image_ids from
- (select account_id ,group_concat(image_id) as image_ids from adcreative_info ai
- where is_video =0 and length (account_id )>1
- group by account_id ) as foo
- left join
- (select account_id,access_token,'MP' as type from advertiser_vx av
- union
- select account_id ,access_token,'GDT' as type from advertiser_qq aq ) as foo2
- on foo.account_id=foo2.account_id
- order by foo.account_id
- limit 10
- '''
- df = pandas.read_sql(sql=sql, con=db_qc.engine)
- print(df)
- for row in df.rows():
- # 2.图片重复去除
- print(row)
- user_sql = '''
- select * from
- where
- '''
- #3.获取图片信息(腾讯),图片信息(大小,格式)
- from PIL import Image
- from io import BytesIO
- def update_image_info():
- while True:
- user_sql='''
- select * from image_info ii
- where preview_url is not null
- and size is null
- limit 100
- '''
- df=pandas.read_sql(user_sql,con=db_qc.engine)
- if len(df)==0:
- break
- for index,row in df.iterrows():
- try:
- print(row['preview_url'])
- rsp=requests.get(row['preview_url'])
- #1.图片写入内存
- im = Image.open(BytesIO(rsp.content))
- #2.获取图片属性
- image_format = im.format
- image_size = len(rsp.content)
- #3.数据进行存储
- sql=''' update image_info set size={},type='{}'
- where image_id = '{}' '''.format(image_size,image_format,row['image_id'])
- db_qc.session.execute(sql)
- db_qc.session.commit()
- except Exception as e:
- time.sleep(1)
- print(e)
- if __name__ == '__main__':
- db_qc = DB(config=quchen_text)
- db_dm = DB(config=dm)
- # update_media_info()
- update_image_info()
|