Python爬虫之Js逆向案例(15)-XX话题批量获取&保存到CSV文件

声明:XX话题批量获取分析仅用于研究和学习,如有侵权,可联系删除

大家好,本期分享的内容是一个关于批量获取话题的案例!示例URL:aHR0cHM6Ly93d3cuemhpaHUuY29tL3RvcGljLzIxMjM4NDE4L3RvcC1hbnN3ZXJz

整体过程跟 案例12这篇案例很像,部分细节不在重复,只说差异:

下面会进行以下几步进行分析(下方演示过程全部使用chrome浏览器);

1.首页能获取到数据

话题接口aHR0cHM6Ly93d3cuemhpaHUuY29tL2FwaS92NS4xL3RvcGljcy8yMTIzODQxOC9mZWVkcy90b3BfYWN0aXZpdHk/b2Zmc2V0PTAmbGltaXQ9MTAm 的第一页能获取到数据,这个地方跟上一片根据问题获取答案不同;

2.注意参数里又个空值

在这里插入图片描述

3.解析结果时需要根据具体的类型处理

在这里插入图片描述

4.目录

在这里插入图片描述

5.日志

在这里插入图片描述

def get_answers(id, max_page):

    print('开始--获取话题id为<{}>的回答...'.format(id))
    index = 1

    while True:
        params = {
            'offset': (index - 1) * config['limit'],
            'limit': config['limit']
        }
        print('准备--开始获取第{}页...'.format(index))

        params_url = get_sign_url(id, params)
        str_96 = get_zst_96(params_url)
        headers = config['headers']

        headers.update({
            'Cookie': get_random_cookie(),
            'x-zse-96': str_96,
        })

        r_url = get_request_url(id, params)
        res = requests.get(r_url, headers=headers).json()

        datas = res.get('data')
        print('实际取到数据条数:{}条...'.format(len(datas)))

        sleep = random.randint(config['random_start'], config['random_end'])
        print('开始休眠:{}秒...'.format(sleep))
        time.sleep(sleep)  # 下次请求之前随机暂停几秒,防止被封号

        if len(datas) <= 0:
            print("异常结束-<{}>的第{}页无数据...".format(id, index + 1))
            break

        saveDataTool.format_data_to_save(datas)

        # 只要达到了最大页码条数,无论后面还有没有下一页,当前问题的答案到此为止
        if (max_page > 0) and max_page <= index:
            print("正常终止-<{}>的第{}页触发了限定最大页码数...".format(id, index + 1))
            break

        if res.get('paging').get('is_end'):
            print("结束-<{}>的第{}页已是最后一页...".format(id, index + 1))
            break
        else:
            index += 1

6.CSV

在这里插入图片描述


后期会持续分享爬虫案例-100例,不想自己造轮子的同学可加入我的知识星球,有更多技巧、案例注意事项、案例坑点终结、答疑提问特权等你哦!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玛卡`三少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值