mdbq 2.2.4__py3-none-any.whl → 2.2.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
mdbq/company/copysh.py CHANGED
@@ -371,12 +371,8 @@ def main():
371
371
  # 更新货品年份基准表, 属性设置 2 - 货品年份基准
372
372
  p = products.Products()
373
373
  p.to_mysql(service_databases=[
374
- # {
375
- # 'home_lx': 'mysql'
376
- # },
377
- {
378
- 'company': 'mysql'
379
- }
374
+ # {'home_lx': 'mysql'},
375
+ {'company': 'mysql'}
380
376
  ]
381
377
  )
382
378
 
@@ -405,3 +401,12 @@ if __name__ == '__main__':
405
401
  main()
406
402
  # # 聚合数据,并清理聚合数据
407
403
  # query_data.data_aggregation(service_databases=[{'company': 'mysql'}], months=1)
404
+
405
+ # sku_picture.download_spu(
406
+ # service_name='company',
407
+ # database='mysql',
408
+ # db_name='属性设置2',
409
+ # table_name='商品spu素材下载记录',
410
+ # col_name='商品图片',
411
+ # save_path=os.path.join(f'\\\\192.168.1.198\\时尚事业部\\01.运营部\\天猫报表\\其他文件', '商品id_商家编码_图片'),
412
+ # )
mdbq/other/sku_picture.py CHANGED
@@ -511,6 +511,7 @@ class DownloadPicture():
511
511
  self.filename = ''
512
512
  self.local_file = ''
513
513
  self.finish_download = []
514
+ self.finish_d2 = [{'完成时间': [], '完成id': []}]
514
515
 
515
516
  def get_df_from_service(self):
516
517
  start_date, end_date = self.months_data(num=self.months)
@@ -598,8 +599,16 @@ class DownloadPicture():
598
599
  url = data[col_name]
599
600
  # self.filename = f'{data['店铺名称']}_{data['商品id']}_{data['商家编码']}.jpg'
600
601
  self.filename = f'{data['商品id']}_{data['商家编码']}.jpg'
602
+ # 清除特殊符号,避免无法创建文件
603
+ self.filename = re.sub(r'[\\/\u4e00-\u9fa5‘’“”【】\[\]{}、,,~~!!]', '_', self.filename)
601
604
  if os.path.isfile(os.path.join(self.save_path, self.filename)):
602
- self.finish_download.append(data['商品id'])
605
+ # self.finish_download.append(data['商品id'])
606
+ self.finish_d2.append(
607
+ [
608
+ {'完成时间': datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')},
609
+ {'完成id': data['商品id']}
610
+ ]
611
+ )
603
612
  i += 1
604
613
  continue
605
614
  if 'https' not in url:
@@ -609,10 +618,19 @@ class DownloadPicture():
609
618
  print(f'正在下载: {i}/{num}, {data['商品id']}')
610
619
  self.headers.update({'User-Agent': ua_sj.get_ua()})
611
620
  res = requests.get(url, headers=self.headers) # 下载图片到内存
612
- # 保存图片到本地文件夹
613
- with open(os.path.join(self.save_path, self.filename), 'wb') as f:
614
- f.write(res.content)
615
- self.finish_download.append(data['商品id'])
621
+ try:
622
+ # 保存图片到本地文件夹
623
+ with open(os.path.join(self.save_path, self.filename), 'wb') as f:
624
+ f.write(res.content)
625
+ # self.finish_download.append(data['商品id'])
626
+ self.finish_d2.append(
627
+ [
628
+ {'完成时间': datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')},
629
+ {'完成id': data['商品id']}
630
+ ]
631
+ )
632
+ except Exception as e:
633
+ print(f'{self.filename}: {e}')
616
634
  i += 1
617
635
  time.sleep(0.5)
618
636
 
@@ -921,7 +939,14 @@ def download_sku(service_name='company', database='mysql', db_name='属性设置
921
939
 
922
940
  def download_spu(service_name='company', database='mysql', db_name='属性设置2', table_name='商品spu素材下载记录', col_name='商品图片', save_path=os.path.join(D_PATH, '商品id_商家编码_图片')):
923
941
  """
924
-
942
+ 1. 从商品素材导出中获取数据
943
+ 2. 从商品id编码表 中获取数据
944
+ 商品id编码表 是合并生意经的数据,主要获取商品编码,
945
+ 对于未上架或者刚上架的货品,生意经未有数据,所以合并两表后,可能缺失商品编码信息
946
+ 3. 更新数据库,不存在则创建
947
+ 4. 从数据库中提取未下载的数据记录
948
+ 5. 实例化一个下载器类,并下载数据
949
+ 6. 回传并更新数据库
925
950
  """
926
951
 
927
952
  # 1. 从商品素材导出中获取数据
@@ -964,6 +989,8 @@ def download_spu(service_name='company', database='mysql', db_name='属性设置
964
989
  # df = df.head(2)
965
990
 
966
991
  # 2. 从商品id编码表 中获取数据
992
+ # 商品id编码表 是合并生意经的数据,主要获取商品编码,
993
+ # 对于未上架或者刚上架的货品,生意经未有数据,所以合并两表后,可能缺失商品编码信息
967
994
  projection = {
968
995
  '宝贝id': 1,
969
996
  '商家编码': 1,
@@ -1017,7 +1044,11 @@ def download_spu(service_name='company', database='mysql', db_name='属性设置
1017
1044
  d.filename = f'{db_name}_{table_name}.xlsx'
1018
1045
  d.df = df
1019
1046
  d.download_from_df(col_name=col_name, save_path=save_path)
1020
- df['获取与下载'] = df.apply(lambda x: '已下载' if x['商品id'] in d.finish_download else x['获取与下载'], axis=1)
1047
+ # finish_id = [item['完成id'] for item in d.finish_d2]
1048
+ # df['获取与下载'] = df.apply(lambda x: '已下载' if x['商品id'] in finish_id else x['获取与下载'], axis=1)
1049
+ for item in d.finish_d2:
1050
+ df['获取与下载'] = df.apply(lambda x: '已下载' if x['商品id'] == item['完成id'] else x['获取与下载'], axis=1)
1051
+ df['时间'] = df.apply(lambda x: item['完成时间'] if x['商品id'] == item['完成id'] else x['时间'], axis=1)
1021
1052
 
1022
1053
  # 6. 回传数据库
1023
1054
  username, password, host, port = get_myconf.select_config_values(target_service=service_name, database=database)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 2.2.4
3
+ Version: 2.2.6
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -11,7 +11,7 @@ mdbq/bdup/bdup.py,sha256=LAV0TgnQpc-LB-YuJthxb0U42_VkPidzQzAagan46lU,4234
11
11
  mdbq/clean/__init__.py,sha256=A1d6x3L27j4NtLgiFV5TANwEkLuaDfPHDQNrPBbNWtU,41
12
12
  mdbq/clean/data_clean.py,sha256=ZJOTT0sNWP85x4pJl39UZBwN4Bnf8Ao-iVOJNiiRPEE,103996
13
13
  mdbq/company/__init__.py,sha256=qz8F_GsP_pMB5PblgJAUAMjasuZbOEp3qQOCB39E8f0,21
14
- mdbq/company/copysh.py,sha256=LYMONSIX2EoPyDQqFODRfIZ2TJtNQBKEeWXCbawTraI,19048
14
+ mdbq/company/copysh.py,sha256=xjlfb-RwW0oLyyHQZFUtmXvCpWI7Y_nhwa0tqW14wZk,19345
15
15
  mdbq/company/home_sh.py,sha256=42CZ2tZIXHLl2mOl2gk2fZnjH2IHh1VJ1s3qHABjonY,18021
16
16
  mdbq/config/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
17
17
  mdbq/config/get_myconf.py,sha256=cmNvsyoNa0RbZ9FOTjSd3jyyGwkxjUo0phvdHbGlrms,6010
@@ -31,14 +31,14 @@ mdbq/mysql/year_month_day.py,sha256=VgewoE2pJxK7ErjfviL_SMTN77ki8GVbTUcao3vFUCE,
31
31
  mdbq/other/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
32
32
  mdbq/other/porxy.py,sha256=UHfgEyXugogvXgsG68a7QouUCKaohTKKkI4RN-kYSdQ,4961
33
33
  mdbq/other/pov_city.py,sha256=AEOmCOzOwyjHi9LLZWPKi6DUuSC-_M163664I52u9qw,21050
34
- mdbq/other/sku_picture.py,sha256=vHHnajaS6Nz2sEduENihEUY_ZMhyBuQO7WuzrXSDSXM,48148
34
+ mdbq/other/sku_picture.py,sha256=Qb2ANG-c79A6WctB4lziAwrDNUMyc6JIhKzNemqGff4,50068
35
35
  mdbq/other/ua_sj.py,sha256=JuVYzc_5QZ9s_oQSrTHVKkQv4S_7-CWx4oIKOARn_9U,22178
36
36
  mdbq/pbix/__init__.py,sha256=Trtfaynu9RjoTyLLYBN2xdRxTvm_zhCniUkVTAYwcjo,24
37
37
  mdbq/pbix/pbix_refresh.py,sha256=JUjKW3bNEyoMVfVfo77UhguvS5AWkixvVhDbw4_MHco,2396
38
38
  mdbq/pbix/refresh_all.py,sha256=viOlLCmz9zg61Q2nzjgl8dChfQxnxRd1A_jmQMb2oDM,5918
39
39
  mdbq/pbix/refresh_all_old.py,sha256=_pq3WSQ728GPtEG5pfsZI2uTJhU8D6ra-htIk1JXYzw,7192
40
40
  mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
41
- mdbq-2.2.4.dist-info/METADATA,sha256=KiryBvuQemT-aGcf786FzHmwJJ3eXp7tAzIdHH6I4BM,245
42
- mdbq-2.2.4.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
43
- mdbq-2.2.4.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
44
- mdbq-2.2.4.dist-info/RECORD,,
41
+ mdbq-2.2.6.dist-info/METADATA,sha256=dmwcBZiI-zVqfBkU3i6-YNS6rpfzNX9FJwoYCj3i9qQ,245
42
+ mdbq-2.2.6.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
43
+ mdbq-2.2.6.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
44
+ mdbq-2.2.6.dist-info/RECORD,,
File without changes