mdbq 2.4.7__py3-none-any.whl → 2.4.9__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.
@@ -770,7 +770,11 @@ class MysqlDatasQuery:
770
770
  df_dmp.sort_values('日期', ascending=True, ignore_index=True, inplace=True)
771
771
  df_dmp.drop_duplicates(subset=['日期', '人群id', '消耗(元)'], keep='last', inplace=True, ignore_index=True)
772
772
  df = pd.merge(df_dmp, df_crowd, left_on=['人群id'], right_on=['人群id'], how='left')
773
+ # 清除一些不必要的字符
774
+ df['用户年龄'] = df['用户年龄'].apply(lambda x: '~'.join(re.findall(r'^(\d+).*-(\d+)岁$', str(x))[0]) if '岁' in str(x) else x)
775
+ df['消费能力等级'] = df['消费能力等级'].apply(lambda x: f'L{''.join(re.findall(r'(\d)', str(x)))}' if '购买力' in str(x) else x)
773
776
  # df.to_csv('/Users/xigua/Downloads/test3.csv', index=False, header=True, encoding='utf-8_sig')
777
+ # breakpoint()
774
778
  return df
775
779
 
776
780
 
@@ -920,6 +924,7 @@ class GroupBy:
920
924
  ], keep='last', inplace=True, ignore_index=True)
921
925
  return df
922
926
  elif '天猫_人群报表' in table_name and '达摩盘' not in table_name:
927
+ """ 天猫推广人群报表独立生成消费力、年龄层、分类等特征,不依赖于达摩盘数据表 """
923
928
  df.rename(columns={
924
929
  '场景名字': '营销场景',
925
930
  '主体id': '商品id',
@@ -1002,8 +1007,14 @@ class GroupBy:
1002
1007
  # 下面是添加人群 AIPL 分类
1003
1008
  dir_file = f'\\\\192.168.1.198\\时尚事业部\\01.运营部\\0-电商周报-每周五更新\\分类配置文件.xlsx'
1004
1009
  dir_file2 = '/Volumes/时尚事业部/01.运营部/0-电商周报-每周五更新/分类配置文件.xlsx'
1010
+ if platform.system() == 'Windows':
1011
+ dir_file3 = 'C:\\同步空间\\BaiduSyncdisk\\原始文件2\\分类配置文件.xlsx'
1012
+ else:
1013
+ dir_file3 = '/Users/xigua/数据中心/原始文件2/分类配置文件.xlsx'
1005
1014
  if not os.path.isfile(dir_file):
1006
1015
  dir_file = dir_file2
1016
+ if not os.path.isfile(dir_file):
1017
+ dir_file = dir_file3
1007
1018
  if os.path.isfile(dir_file):
1008
1019
  df_fl = pd.read_excel(dir_file, sheet_name='人群分类', header=0)
1009
1020
  df_fl = df_fl[['人群名字', '人群分类']]
@@ -1012,12 +1023,22 @@ class GroupBy:
1012
1023
  df['人群分类'].fillna('', inplace=True)
1013
1024
  if '人群分类' in df.columns.tolist():
1014
1025
  # 这行决定了,从文件中读取的分类信息优先级高于内部函数的分类规则
1026
+ # 这个 lambda 适配人群名字中带有特定标识的分类,强匹配
1015
1027
  df['人群分类'] = df.apply(
1016
1028
  lambda x: self.set_crowd(keyword=str(x['人群名字']), as_file=False) if x['人群分类'] == ''
1017
1029
  else x['人群分类'], axis=1
1018
1030
  )
1031
+ # 这个 lambda 适配人群名字中聚类的特征字符,弱匹配
1032
+ df['人群分类'] = df.apply(
1033
+ lambda x: self.set_crowd2(keyword=str(x['人群名字']), as_file=False) if x['人群分类'] == ''
1034
+ else x['人群分类'], axis=1
1035
+ )
1019
1036
  else:
1020
1037
  df['人群分类'] = df['人群名字'].apply(lambda x: self.set_crowd(keyword=str(x), as_file=False))
1038
+ df['人群分类'] = df.apply(
1039
+ lambda x: self.set_crowd2(keyword=str(x['人群名字']), as_file=False) if x['人群分类'] == ''
1040
+ else x['人群分类'], axis=1
1041
+ )
1021
1042
  df['人群分类'] = df['人群分类'].apply(lambda x: str(x).upper() if x else x)
1022
1043
  # df.to_csv('/Users/xigua/Downloads/test_人群分类.csv', index=False, header=True, encoding='utf-8_sig')
1023
1044
  # breakpoint()
@@ -1071,7 +1092,7 @@ class GroupBy:
1071
1092
  dir_file = dir_file2
1072
1093
  if os.path.isfile(dir_file):
1073
1094
  df_fl = pd.read_excel(dir_file, sheet_name='关键词分类', header=0)
1074
- df_fl.rename(columns={'分类1': '词分类'}, inplace=True)
1095
+ # df_fl.rename(columns={'分类1': '词分类'}, inplace=True)
1075
1096
  df_fl = df_fl[['关键词', '词分类']]
1076
1097
  # 合并并获取词分类信息
1077
1098
  df = pd.merge(df, df_fl, left_on=['词名字/词包名字'], right_on=['关键词'], how='left')
@@ -1678,6 +1699,103 @@ class GroupBy:
1678
1699
  if not is_res:
1679
1700
  return ''
1680
1701
 
1702
+ def set_crowd2(self, keyword, as_file=False):
1703
+ """ 推广人群报表,人群分类, """
1704
+ datas = [
1705
+ {
1706
+ '类别': 'A',
1707
+ '值': [
1708
+ '相似宝贝',
1709
+ '相似店铺',
1710
+ '类目',
1711
+ '88VIP',
1712
+ '拉新',
1713
+ '潮流',
1714
+ '会场',
1715
+ '意向',
1716
+ '>>', # 系统推荐的搜索相关人群
1717
+ '关键词:', # 系统推荐的搜索相关人群
1718
+ '关键词_', # 自建的搜索相关人群
1719
+ '扩展',
1720
+ '敏感人群',
1721
+ '尝鲜',
1722
+ '小二推荐',
1723
+ '竞争',
1724
+ '资深',
1725
+ '女王节',
1726
+ '本行业',
1727
+ '618',
1728
+ '包包树',
1729
+ '迪桑娜',
1730
+ '菲安妮',
1731
+ '卡思乐',
1732
+ '场景词',
1733
+ '竞对',
1734
+ '精选',
1735
+ '发现',
1736
+ '行业mvp'
1737
+ '特征继承',
1738
+ '机会',
1739
+ '推荐',
1740
+ '智能定向',
1741
+ ]
1742
+ },
1743
+ {
1744
+ '类别': 'I',
1745
+ '值': [
1746
+ '行动',
1747
+ '收加',
1748
+ '收藏',
1749
+ '加购',
1750
+ '促首购',
1751
+ '店铺优惠券',
1752
+ '高转化',
1753
+ '认知',
1754
+ '喜欢我', # 系统推荐宝贝/店铺访问相关人群
1755
+ '未购买',
1756
+ '种草',
1757
+ '兴趣',
1758
+ '本店',
1759
+ '领券',
1760
+ ]
1761
+ },
1762
+ {
1763
+ '类别': 'P',
1764
+ '值': [
1765
+ '万里马',
1766
+ '购买',
1767
+ '已购',
1768
+ '促复购'
1769
+ '店铺会员',
1770
+ '店铺粉丝',
1771
+ '转化',
1772
+ ]
1773
+ },
1774
+ {
1775
+ '类别': 'L',
1776
+ '值': [
1777
+ 'L人群',
1778
+ ]
1779
+ },
1780
+ ]
1781
+ if as_file:
1782
+ with open(os.path.join(self.output, f'分类配置_推广人群分类_函数内置规则.json'), 'w') as f:
1783
+ json.dump(datas, f, ensure_ascii=False, sort_keys=False, indent=4)
1784
+ breakpoint()
1785
+ result = ''
1786
+ res = []
1787
+ is_continue = False
1788
+ for data in datas:
1789
+ for item in data['值']:
1790
+ res = re.findall(item, str(keyword), re.IGNORECASE)
1791
+ if res:
1792
+ result = data['类别']
1793
+ is_continue = True
1794
+ break
1795
+ if is_continue:
1796
+ break
1797
+ return result
1798
+
1681
1799
  # @try_except
1682
1800
  def performance(self, bb_tg=True):
1683
1801
  # print(self.data_tgyj)
@@ -1946,126 +2064,126 @@ def data_aggregation(service_databases=[{}], months=1, is_juhe=True):
1946
2064
 
1947
2065
  # 从数据库中获取数据, 返回包含 df 数据的字典
1948
2066
  data_dict = [
1949
- {
1950
- '数据库名': '聚合数据', # 清洗完回传的目的地数据库
1951
- '集合名': '天猫_主体报表', # 清洗完回传的数据表名
1952
- '唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费'],
1953
- '数据主体': sdq.tg_wxt(),
1954
- },
1955
- {
1956
- '数据库名': '聚合数据',
1957
- '集合名': '天猫生意经_宝贝指标',
1958
- '唯一主键': ['日期', '宝贝id'], # 不能加其他字段做主键,比如销售额,是变动的,不是唯一的
1959
- '数据主体': sdq.syj(),
1960
- },
1961
- {
1962
- '数据库名': '聚合数据',
1963
- '集合名': '天猫_店铺来源_日数据',
1964
- '唯一主键': ['日期', '一级来源', '二级来源', '三级来源', '访客数'],
1965
- '数据主体': sdq.dplyd(),
1966
- },
1967
- {
1968
- '数据库名': '聚合数据',
1969
- '集合名': '天猫_店铺来源_日数据_旧版',
1970
- '唯一主键': ['日期', '一级来源', '二级来源', '三级来源'],
1971
- '数据主体': sdq.dplyd_old(),
1972
- },
1973
- {
1974
- '数据库名': '聚合数据',
1975
- '集合名': '商品id编码表',
1976
- '唯一主键': ['宝贝id'],
1977
- '数据主体': sdq.idbm(),
1978
- },
1979
- {
1980
- '数据库名': '聚合数据',
1981
- '集合名': '商品id图片对照表',
1982
- '唯一主键': ['商品id'],
1983
- '数据主体': sdq.sp_picture(),
1984
- },
1985
- {
1986
- '数据库名': '聚合数据',
1987
- '集合名': '商品成本',
1988
- '唯一主键': ['款号'],
1989
- '数据主体': sdq.sp_cost(),
1990
- },
1991
- {
1992
- '数据库名': '聚合数据',
1993
- '集合名': '京东_京准通',
1994
- '唯一主键': ['日期', '产品线', '触发sku id', '跟单sku id', '花费', ],
1995
- '数据主体': sdq.jdjzt(),
1996
- },
1997
- {
1998
- '数据库名': '聚合数据',
1999
- '集合名': '京东_京准通_全站营销',
2000
- '唯一主键': ['日期', '产品线', '花费'],
2001
- '数据主体': sdq.jdqzyx(),
2002
- },
2003
- {
2004
- '数据库名': '聚合数据',
2005
- '集合名': '京东_sku_商品明细',
2006
- '唯一主键': ['日期', '商品id', '成交单量'],
2007
- '数据主体': sdq.sku_sales(),
2008
- },
2009
- {
2010
- '数据库名': '聚合数据',
2011
- '集合名': '京东_spu_商品明细',
2012
- '唯一主键': ['日期', '商品id', '成交单量'],
2013
- '数据主体': sdq.spu_sales(),
2014
- },
2015
- {
2016
- '数据库名': '聚合数据',
2017
- '集合名': '天猫_人群报表',
2018
- '唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费', '人群名字'],
2019
- '数据主体': sdq.tg_rqbb(),
2020
- },
2021
- {
2022
- '数据库名': '聚合数据',
2023
- '集合名': '天猫_关键词报表',
2024
- '唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费', '词类型', '词名字/词包名字',],
2025
- '数据主体': sdq.tg_gjc(),
2026
- },
2027
- {
2028
- '数据库名': '聚合数据',
2029
- '集合名': '天猫_超级直播',
2030
- '唯一主键': ['日期', '推广渠道', '营销场景', '花费'],
2031
- '数据主体': sdq.tg_cjzb(),
2032
- },
2033
- {
2034
- '数据库名': '聚合数据',
2035
- '集合名': '京东_关键词报表',
2036
- '唯一主键': ['日期', '产品线', '搜索词', '关键词', '展现数', '花费'],
2037
- '数据主体': sdq.jd_gjc(),
2038
- },
2039
- {
2040
- '数据库名': '聚合数据',
2041
- '集合名': '天猫_品销宝账户报表',
2042
- '唯一主键': ['日期', '报表类型', '推广渠道', '营销场景', '花费'],
2043
- '数据主体': sdq.pxb_zh(),
2044
- },
2045
- {
2046
- '数据库名': '聚合数据',
2047
- '集合名': '天猫店铺来源_手淘搜索',
2048
- '唯一主键': ['日期', '关键词', '访客数'],
2049
- '数据主体': sdq.tm_search(),
2050
- },
2051
- {
2052
- '数据库名': '聚合数据',
2053
- '集合名': '生意参谋_直播场次分析',
2054
- '唯一主键': ['场次id'],
2055
- '数据主体': sdq.zb_ccfx(),
2056
- },
2057
- {
2058
- '数据库名': '聚合数据',
2059
- '集合名': '多店推广场景_按日聚合',
2060
- '唯一主键': [],
2061
- '数据主体': sdq.tg_by_day(),
2062
- },
2063
- {
2064
- '数据库名': '聚合数据',
2065
- '集合名': '爱库存_商品spu榜单',
2066
- '唯一主键': [],
2067
- '数据主体': sdq.aikucun_bd_spu(),
2068
- },
2067
+ # {
2068
+ # '数据库名': '聚合数据', # 清洗完回传的目的地数据库
2069
+ # '集合名': '天猫_主体报表', # 清洗完回传的数据表名
2070
+ # '唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费'],
2071
+ # '数据主体': sdq.tg_wxt(),
2072
+ # },
2073
+ # {
2074
+ # '数据库名': '聚合数据',
2075
+ # '集合名': '天猫生意经_宝贝指标',
2076
+ # '唯一主键': ['日期', '宝贝id'], # 不能加其他字段做主键,比如销售额,是变动的,不是唯一的
2077
+ # '数据主体': sdq.syj(),
2078
+ # },
2079
+ # {
2080
+ # '数据库名': '聚合数据',
2081
+ # '集合名': '天猫_店铺来源_日数据',
2082
+ # '唯一主键': ['日期', '一级来源', '二级来源', '三级来源', '访客数'],
2083
+ # '数据主体': sdq.dplyd(),
2084
+ # },
2085
+ # {
2086
+ # '数据库名': '聚合数据',
2087
+ # '集合名': '天猫_店铺来源_日数据_旧版',
2088
+ # '唯一主键': ['日期', '一级来源', '二级来源', '三级来源'],
2089
+ # '数据主体': sdq.dplyd_old(),
2090
+ # },
2091
+ # {
2092
+ # '数据库名': '聚合数据',
2093
+ # '集合名': '商品id编码表',
2094
+ # '唯一主键': ['宝贝id'],
2095
+ # '数据主体': sdq.idbm(),
2096
+ # },
2097
+ # {
2098
+ # '数据库名': '聚合数据',
2099
+ # '集合名': '商品id图片对照表',
2100
+ # '唯一主键': ['商品id'],
2101
+ # '数据主体': sdq.sp_picture(),
2102
+ # },
2103
+ # {
2104
+ # '数据库名': '聚合数据',
2105
+ # '集合名': '商品成本',
2106
+ # '唯一主键': ['款号'],
2107
+ # '数据主体': sdq.sp_cost(),
2108
+ # },
2109
+ # {
2110
+ # '数据库名': '聚合数据',
2111
+ # '集合名': '京东_京准通',
2112
+ # '唯一主键': ['日期', '产品线', '触发sku id', '跟单sku id', '花费', ],
2113
+ # '数据主体': sdq.jdjzt(),
2114
+ # },
2115
+ # {
2116
+ # '数据库名': '聚合数据',
2117
+ # '集合名': '京东_京准通_全站营销',
2118
+ # '唯一主键': ['日期', '产品线', '花费'],
2119
+ # '数据主体': sdq.jdqzyx(),
2120
+ # },
2121
+ # {
2122
+ # '数据库名': '聚合数据',
2123
+ # '集合名': '京东_sku_商品明细',
2124
+ # '唯一主键': ['日期', '商品id', '成交单量'],
2125
+ # '数据主体': sdq.sku_sales(),
2126
+ # },
2127
+ # {
2128
+ # '数据库名': '聚合数据',
2129
+ # '集合名': '京东_spu_商品明细',
2130
+ # '唯一主键': ['日期', '商品id', '成交单量'],
2131
+ # '数据主体': sdq.spu_sales(),
2132
+ # },
2133
+ # {
2134
+ # '数据库名': '聚合数据',
2135
+ # '集合名': '天猫_人群报表',
2136
+ # '唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费', '人群名字'],
2137
+ # '数据主体': sdq.tg_rqbb(),
2138
+ # },
2139
+ # {
2140
+ # '数据库名': '聚合数据',
2141
+ # '集合名': '天猫_关键词报表',
2142
+ # '唯一主键': ['日期', '推广渠道', '营销场景', '商品id', '花费', '词类型', '词名字/词包名字',],
2143
+ # '数据主体': sdq.tg_gjc(),
2144
+ # },
2145
+ # {
2146
+ # '数据库名': '聚合数据',
2147
+ # '集合名': '天猫_超级直播',
2148
+ # '唯一主键': ['日期', '推广渠道', '营销场景', '花费'],
2149
+ # '数据主体': sdq.tg_cjzb(),
2150
+ # },
2151
+ # {
2152
+ # '数据库名': '聚合数据',
2153
+ # '集合名': '京东_关键词报表',
2154
+ # '唯一主键': ['日期', '产品线', '搜索词', '关键词', '展现数', '花费'],
2155
+ # '数据主体': sdq.jd_gjc(),
2156
+ # },
2157
+ # {
2158
+ # '数据库名': '聚合数据',
2159
+ # '集合名': '天猫_品销宝账户报表',
2160
+ # '唯一主键': ['日期', '报表类型', '推广渠道', '营销场景', '花费'],
2161
+ # '数据主体': sdq.pxb_zh(),
2162
+ # },
2163
+ # {
2164
+ # '数据库名': '聚合数据',
2165
+ # '集合名': '天猫店铺来源_手淘搜索',
2166
+ # '唯一主键': ['日期', '关键词', '访客数'],
2167
+ # '数据主体': sdq.tm_search(),
2168
+ # },
2169
+ # {
2170
+ # '数据库名': '聚合数据',
2171
+ # '集合名': '生意参谋_直播场次分析',
2172
+ # '唯一主键': ['场次id'],
2173
+ # '数据主体': sdq.zb_ccfx(),
2174
+ # },
2175
+ # {
2176
+ # '数据库名': '聚合数据',
2177
+ # '集合名': '多店推广场景_按日聚合',
2178
+ # '唯一主键': [],
2179
+ # '数据主体': sdq.tg_by_day(),
2180
+ # },
2181
+ # {
2182
+ # '数据库名': '聚合数据',
2183
+ # '集合名': '爱库存_商品spu榜单',
2184
+ # '唯一主键': [],
2185
+ # '数据主体': sdq.aikucun_bd_spu(),
2186
+ # },
2069
2187
  {
2070
2188
  '数据库名': '聚合数据',
2071
2189
  '集合名': '达摩盘_人群报表',
@@ -2167,6 +2285,6 @@ def main():
2167
2285
 
2168
2286
 
2169
2287
  if __name__ == '__main__':
2170
- data_aggregation(service_databases=[{'company': 'mysql'}], months=0, is_juhe=False) # 正常的聚合所有数据
2288
+ data_aggregation(service_databases=[{'company': 'mysql'}], months=24, is_juhe=False) # 正常的聚合所有数据
2171
2289
  # data_aggregation_one(service_databases=[{'company': 'mysql'}], months=1) # 单独聚合某一个数据库,具体库进函数编辑
2172
2290
  # optimize_data.op_data(service_databases=[{'company': 'mysql'}], days=3650) # 立即启动对聚合数据的清理工作
mdbq/company/copysh.py CHANGED
@@ -269,7 +269,7 @@ class TbFiles:
269
269
  dir_files = f'\\\\192.168.1.198\\时尚事业部\\01.运营部\\0-电商周报-每周五更新'
270
270
  files = os.listdir(dir_files)
271
271
  for file in files:
272
- if file.endswith('.xlsx') and '0-WLM_运营周报' in file and '~' not in file and 'baidu' not in file:
272
+ if file.endswith('.xlsx') and file.startswith('0-WLM_运营周报') and '~' not in file and 'baidu' not in file:
273
273
  excel_file = os.path.join(dir_files, file)
274
274
  r.refresh_excel(file=excel_file)
275
275
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 2.4.7
3
+ Version: 2.4.9
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -5,13 +5,13 @@ mdbq/aggregation/aggregation.py,sha256=nPp5fOLktxejNEak3SyTnKLjwzK1l2xjbV45X-I4L
5
5
  mdbq/aggregation/df_types.py,sha256=U9i3q2eRPTDY8qAPTw7irzu-Tlg4CIySW9uYro81wdk,8125
6
6
  mdbq/aggregation/mysql_types.py,sha256=DQYROALDiwjJzjhaJfIIdnsrNs11i5BORlj_v6bp67Y,11062
7
7
  mdbq/aggregation/optimize_data.py,sha256=Wis40oL04M7E1pkvgNPjyVFAUe-zgjimjIVAikxYY8Y,4418
8
- mdbq/aggregation/query_data.py,sha256=_RYPlUDg5Hmfm663gx7vGh0HHfgnik9BDqLPQCl9w5A,98932
8
+ mdbq/aggregation/query_data.py,sha256=65ulg_i5bNb4RXjtBCDKgRSKXLJJd9bb16j0EbdFVXo,103875
9
9
  mdbq/bdup/__init__.py,sha256=AkhsGk81SkG1c8FqDH5tRq-8MZmFobVbN60DTyukYTY,28
10
10
  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=ucfslhqXVZoH2QaXHSAWDky0GhIvH9f4GeNaHg4SrFE,104790
13
13
  mdbq/company/__init__.py,sha256=qz8F_GsP_pMB5PblgJAUAMjasuZbOEp3qQOCB39E8f0,21
14
- mdbq/company/copysh.py,sha256=8LL9uPkY0L3XGxTM8G7tROaQX3YzDq5vaE8U1FLe_n0,19714
14
+ mdbq/company/copysh.py,sha256=NvlXCBZBcO2GIT5nLRYYqhOyHWM1-1RE7DHvgbj6jmQ,19723
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
@@ -41,7 +41,7 @@ mdbq/req_post/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
41
41
  mdbq/req_post/req_tb.py,sha256=PexWSCPJNM6Tv0ol4lAWIhlOwsAr_frnjtcdSHCFiek,36179
42
42
  mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
43
43
  mdbq/spider/aikucun.py,sha256=Olq7IJP9itM4wuNxZeHOG-Q3i8wWyB4hY8TUGGwCvQ0,14104
44
- mdbq-2.4.7.dist-info/METADATA,sha256=dBLtWhjOK1TZ87LrmoRgLAz7NHJYtQiC01dRimYwZ90,245
45
- mdbq-2.4.7.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
46
- mdbq-2.4.7.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
47
- mdbq-2.4.7.dist-info/RECORD,,
44
+ mdbq-2.4.9.dist-info/METADATA,sha256=3T_hJJlZ-85YZuX4DRP1CNLotuJkISvL4TbTuPJA6BE,245
45
+ mdbq-2.4.9.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
46
+ mdbq-2.4.9.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
47
+ mdbq-2.4.9.dist-info/RECORD,,
File without changes