网页数据循环提取后使用pandas存储xlsx格式

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值