def get_list_info(self):
start = 1
# 初始化行名
df1 = pd.DataFrame(columns=['名称', '抖音号', '粉丝数', '带货口碑', '推广商品数', '关联视频', '关联直播', '互动量', '预估销量(件)',
'预估销售额'])
while True:
print('正在抓取第{}页'.format(start))
time.sleep(1)
rep = requests.get(url=self.url.format(start), headers=self.headers).text
time.sleep(0.5)
data = json.loads(rep)
nickname = jsonpath.jsonpath(data, '$..list..nickname') # name
douyin_id = jsonpath.jsonpath(data, '$..list..unique_id') # 抖音
follower_count = jsonpath.jsonpath(data, '$..list..follower_count') # 粉丝数
reputation_score = jsonpath.jsonpath(data, '$..list..reputation_score') # 带货口碑
product_count = jsonpath.jsonpath(data, '$..list..product_count') # 推广商品数
aweme_count = jsonpath.jsonpath(data, '$..list..aweme_count') # 关联视频
live_count = jsonpath.jsonpath(data, '$..list..live_count') # 关联直播
interaction = jsonpath.jsonpath(data, '$..list..interaction') # 互动量
volume = jsonpath.jsonpath(data, '$..list..volume') # 预估销量(件)
amount = jsonpath.jsonpath(data, '$..list..amount') # 预估销售额
page = data['data']['page_info']['totalPage'] # 页面num
# 初始化行名 这一组行名当作临时变量
df = pd.DataFrame(columns=['名称', '抖音号', '粉丝数', '带货口碑', '推广商品数', '关联视频', '关联直播', '互动量', '预估销量(件)',
'预估销售额'])
for i in range(len(nickname)):
# 个人业务逻辑处理
if douyin_id[i] == '':
douyin_id[i] = data['data']['list'][i]['short_id'] # 抖音
# 拼接列表循环出来的一行数据
data1 = {'名称': nickname[i], '抖音号': douyin_id[i], '粉丝数': follower_count[i], '带货口碑': reputation_score[i],
'推广商品数': product_count[i], '关联视频': aweme_count[i], '关联直播': live_count[i],
'互动量': interaction[i],
'预估销量(件)': volume[i], '预估销售额': amount[i]}
# 把拼接的数据新增到df
df = df.append(data1, ignore_index=True)
# 在当前页面循环外 拼接完整的一页数据
df1 = pd.concat([df, df1])
if start >= page:
# 储存
df1.to_excel(r'C:\Users\13276\Desktop\11\蕉下info.xlsx', index=False)
break
start += 1
网页数据循环提取后使用pandas存储xlsx格式
最新推荐文章于 2024-03-31 12:00:00 发布