mdbq 3.8.16__py3-none-any.whl → 3.8.18__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/__version__.py CHANGED
@@ -1 +1 @@
1
- VERSION = '3.8.16'
1
+ VERSION = '3.8.18'
mdbq/mysql/mysql.py CHANGED
@@ -659,7 +659,7 @@ class MysqlUpload:
659
659
  if col_not_exist: # 数据表中不存在的列
660
660
  for col in col_not_exist:
661
661
  # 创建列,需转义
662
- ialter_sql = f"ALTER TABLE `{table_name}` ADD COLUMN `{col}` {dtypes[col]}"
662
+ alter_sql = f"ALTER TABLE `{table_name}` ADD COLUMN `{col}` {dtypes[col]}"
663
663
  if not allow_not_null:
664
664
  alter_sql += " NOT NULL"
665
665
  cursor.execute(alter_sql)
mdbq/other/otk.py CHANGED
@@ -6,6 +6,25 @@ import pandas as pd
6
6
  import numpy as np
7
7
  from mdbq.other import ua_sj
8
8
  import requests
9
+ from collections.abc import Mapping
10
+
11
+
12
+ def safe_get(d, keys, default=None):
13
+ """
14
+ 安全获取嵌套字典值
15
+ data = {"user": {"profile": {"name": "Alice"}}}
16
+ result = safe_get(data, ["user", "profile", "name"], "Unknown")
17
+ print(result) # 输出: "Alice"
18
+ """
19
+ if not keys:
20
+ return default
21
+ if not isinstance(d, Mapping):
22
+ return default
23
+ for key in keys:
24
+ d = d.get(key, default)
25
+ if not isinstance(d, Mapping):
26
+ break
27
+ return d if d is not None else default
9
28
 
10
29
 
11
30
  def get_public_ip():
mdbq/spider/aikucun.py CHANGED
@@ -179,10 +179,6 @@ class AikuCun:
179
179
  db_name=self.db_name,
180
180
  table_name=self.table_name,
181
181
  dict_data=self.token,
182
- unique_main_key=None,
183
- icm_update=[], # 唯一组合键
184
- main_key=None, # 指定索引列, 通常用日期列,默认会设置日期为索引
185
- set_typ={}, # 指定数据类型
186
182
  )
187
183
 
188
184
  def get_data_from_bbx(self, start_date=None, end_date=None, item_type='spu', page_num=1, page_size=300):
@@ -451,7 +447,7 @@ class AikuCun:
451
447
  print(res.json())
452
448
 
453
449
 
454
- def main(start_date, end_date, item_type=['spu']):
450
+ def main(start_date, end_date=None, item_type=['spu']):
455
451
  ak = AikuCun()
456
452
  # ak.get_sign()
457
453
  for type_ in item_type:
@@ -483,7 +479,7 @@ def main(start_date, end_date, item_type=['spu']):
483
479
 
484
480
  if __name__ == '__main__':
485
481
  main(
486
- start_date='2025-03-01',
482
+ start_date='2025-03-25',
487
483
  # end_date='2025-03-26', # 不传则默认到今天
488
484
  item_type=['spu', 'sku']
489
485
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mdbq
3
- Version: 3.8.16
3
+ Version: 3.8.18
4
4
  Home-page: https://pypi.org/project/mdbq
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -1,5 +1,5 @@
1
1
  mdbq/__init__.py,sha256=Il5Q9ATdX8yXqVxtP_nYqUhExzxPC_qk_WXQ_4h0exg,16
2
- mdbq/__version__.py,sha256=VUh6syxyz3BeTHjQrrlUgLdyX1-2SRQdP5locYySmCQ,18
2
+ mdbq/__version__.py,sha256=kflFjk3ujk2iECHCD3Bw3eVeZ9O3eAB76MG428NMJM0,18
3
3
  mdbq/aggregation/__init__.py,sha256=EeDqX2Aml6SPx8363J-v1lz0EcZtgwIBYyCJV6CcEDU,40
4
4
  mdbq/aggregation/query_data.py,sha256=5_OzjGR5Sq00q-EgAYmSE5V9i4Solw9y4hkldl4mvt8,179808
5
5
  mdbq/config/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
@@ -7,11 +7,11 @@ mdbq/config/config.py,sha256=eaTfrfXQ65xLqjr5I8-HkZd_jEY1JkGinEgv3TSLeoQ,3170
7
7
  mdbq/log/__init__.py,sha256=Mpbrav0s0ifLL7lVDAuePEi1hJKiSHhxcv1byBKDl5E,15
8
8
  mdbq/log/spider_logging.py,sha256=-ozWWEGm3HVv604ozs_OOvVwumjokmUPwbaodesUrPY,1664
9
9
  mdbq/mysql/__init__.py,sha256=A_DPJyAoEvTSFojiI2e94zP0FKtCkkwKP1kYUCSyQzo,11
10
- mdbq/mysql/mysql.py,sha256=4N6srlRYomoSHdK4Y84fxkIW_eL5xFkb3Jo06sebSi0,55031
10
+ mdbq/mysql/mysql.py,sha256=umcLpw5cYGNNJnEjBLh_bgBXeh5LntPKFm8VslQ01ow,55030
11
11
  mdbq/mysql/s_query.py,sha256=X055aLRAgxVvueXx4NbfNjp6MyBI02_XBb1pTKw09L0,8660
12
12
  mdbq/other/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
13
13
  mdbq/other/download_sku_picture.py,sha256=YU8DxKMXbdeE1OOKEA848WVp62jYHw5O4tXTjUdq9H0,44832
14
- mdbq/other/otk.py,sha256=i8Eomxk7i3tU41Pv_dbFCo8ghZ1dQsMJVRp3ZWVtCY8,6710
14
+ mdbq/other/otk.py,sha256=iclBIFbQbhlqzUbcMMoePXBpcP1eZ06ZtjnhcA_EbmE,7241
15
15
  mdbq/other/pov_city.py,sha256=AEOmCOzOwyjHi9LLZWPKi6DUuSC-_M163664I52u9qw,21050
16
16
  mdbq/other/ua_sj.py,sha256=JuVYzc_5QZ9s_oQSrTHVKkQv4S_7-CWx4oIKOARn_9U,22178
17
17
  mdbq/pbix/__init__.py,sha256=Trtfaynu9RjoTyLLYBN2xdRxTvm_zhCniUkVTAYwcjo,24
@@ -20,8 +20,8 @@ mdbq/pbix/refresh_all.py,sha256=OBT9EewSZ0aRS9vL_FflVn74d4l2G00wzHiikCC4TC0,5926
20
20
  mdbq/redis/__init__.py,sha256=YtgBlVSMDphtpwYX248wGge1x-Ex_mMufz4-8W0XRmA,12
21
21
  mdbq/redis/getredis.py,sha256=Uk8-cOWT0JU1qRyIVqdbYokSLvkDIAfcokmYj1ebw8k,24104
22
22
  mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
23
- mdbq/spider/aikucun.py,sha256=m7ZIvrc9pqoGCYEH3FtgKTwqhX7QB6qzgc2twDzhX4w,19962
24
- mdbq-3.8.16.dist-info/METADATA,sha256=TS9KZw82-cE9gTPtfKSLzhwWzda-8ZnZ6384Vm0xU4I,364
25
- mdbq-3.8.16.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
26
- mdbq-3.8.16.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
27
- mdbq-3.8.16.dist-info/RECORD,,
23
+ mdbq/spider/aikucun.py,sha256=QfyUtXMuPZ5mJVNDUlFa_ltFXiCCTccBz6MT3YT-7HI,19742
24
+ mdbq-3.8.18.dist-info/METADATA,sha256=tQFP7EyTad4nohSxELsIYAuvw8R4eQaVCxu8NDh9OD4,364
25
+ mdbq-3.8.18.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
26
+ mdbq-3.8.18.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
27
+ mdbq-3.8.18.dist-info/RECORD,,
File without changes