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

2023-10-31

声明: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例,不想自己造轮子的同学可加入我的知识星球,有更多技巧、案例注意事项、案例坑点终结、答疑提问特权等你哦!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • python:查找围绕某个 GPS 位置的圆的 GPS 坐标的优雅方法

    我有一组以十进制表示的 GPS 坐标 并且我正在寻找一种方法来查找每个位置周围半径可变的圆中的坐标 这是一个例子 http green and energy com downloads test circle html我需要什么 这是一个圆
  • 为什么从 Pandas 1.0 中删除了日期时间?

    我在 pandas 中处理大量数据分析并每天使用 pandas datetime 最近我收到警告 FutureWarning pandas datetime 类已弃用 并将在未来版本中从 pandas 中删除 改为从 datetime 模块
  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • Python 中的哈希映射

    我想用Python实现HashMap 我想请求用户输入 根据他的输入 我从 HashMap 中检索一些信息 如果用户输入HashMap的某个键 我想检索相应的值 如何在 Python 中实现此功能 HashMap
  • 如何使用 opencv.omnidir 模块对鱼眼图像进行去扭曲

    我正在尝试使用全向模块 http docs opencv org trunk db dd2 namespacecv 1 1omnidir html用于对鱼眼图像进行扭曲处理Python 我正在尝试适应这一点C 教程 http docs op
  • 需要在python中找到print或printf的源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在做一些我不能完全谈论的事情 我
  • 跟踪 pypi 依赖项 - 谁在使用我的包

    无论如何 是否可以通过 pip 或 PyPi 来识别哪些项目 在 Pypi 上发布 可能正在使用我的包 也在 PyPi 上发布 我想确定每个包的用户群以及可能尝试积极与他们互动 预先感谢您的任何答案 即使我想做的事情是不可能的 这实际上是不
  • Pandas 日期时间格式

    是否可以用零后缀表示 pd to datetime 似乎零被删除了 print pd to datetime 2000 07 26 14 21 00 00000 format Y m d H M S f 结果是 2000 07 26 14
  • 使用 xlrd 打开 BytesIO (xlsx)

    我正在使用 Django 需要读取上传的 xlsx 文件的工作表和单元格 使用 xlrd 应该可以 但因为文件必须保留在内存中并且可能不会保存到我不知道如何继续的位置 本例中的起点是一个带有上传输入和提交按钮的网页 提交后 文件被捕获req
  • Python beautifulsoup 仅限 1 级文本

    我看过其他 beautifulsoup 得到相同级别类型的问题 看来我的有点不同 这是网站 我正试图拿到右边那张桌子 请注意表的第一行如何展开为该数据的详细细分 我不想要那个数据 我只想要最顶层的数据 您还可以看到其他行也可以展开 但在本例
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • 如何使用python在一个文件中写入多行

    如果我知道要写多少行 我就知道如何将多行写入一个文件 但是 当我想写多行时 问题就出现了 但是 我不知道它们会是多少 我正在开发一个应用程序 它从网站上抓取并将结果的链接存储在文本文件中 但是 我们不知道它会回复多少行 我的代码现在如下 r
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • 如何通过索引列表从 dask 数据框中选择数据?

    我想根据索引列表从 dask 数据框中选择行 我怎样才能做到这一点 Example 假设我有以下 dask 数据框 dict A 1 2 3 4 5 6 7 B 2 3 4 5 6 7 8 index x1 a2 x3 c4 x5 y6 x
  • Jupyter Notebook 找不到 Python 模块

    不知道发生了什么 但每当我使用 ipython 氢 原子 或 jupyter 笔记本时都找不到任何已安装的模块 我知道我安装了 pandas 但笔记本说找不到 我应该补充一点 当我正常运行脚本时 python script py 它确实导入
  • 仅第一个加载的 Django 站点有效

    我最近向 stackoverflow 提交了一个问题 标题为使用mod wsgi在apache上多次请求后Django无限加载 https stackoverflow com questions 71705909 django infini
  • Python:XML 内所有标签名称中的字符串替换(将连字符替换为下划线)

    我有一个格式不太好的 XML 标签名称内有连字符 我想用下划线替换它 以便能够与 lxml objectify 一起使用 我想替换所有标签名称 包括嵌套的子标签 示例 XML
  • Scipy Sparse:SciPy/NumPy 更新后出现奇异矩阵警告

    我的问题是由大型电阻器系统的节点分析产生的 我基本上是在设置一个大的稀疏矩阵A 我的解向量b 我正在尝试求解线性方程A x b 为了做到这一点 我正在使用scipy sparse linalg spsolve method 直到最近 一切都
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页
  • 使用 z = f(x, y) 形式的 B 样条方法来拟合 z = f(x)

    作为一个潜在的解决方案这个问题 https stackoverflow com questions 76476327 how to avoid creating many binary switching variables in gekk

随机推荐

  • spark on yarn 完全分布式_从MR到Spark再到Ray,谈分布式编程的发展

    作为和Spark同出一脉的Ray 目前三个合伙人也创立了公司 叫Anyscale 参考这篇新闻 Anyscale raises 20 6 million to simplify writing AI and ML applications
  • ant 实践应用

    ant其实并非原生的Linux命令 但它 是一个使用广泛 功能强大的跨平台 构建工具程序 尤其是进行Java开发时 许多开源的Java项目都使用ant作为构建工具 ant 是apache自由软件基金会的一款开源软件 是java项目推崇的一款
  • 如何用golang快速构建一个CLI小工具02 - 解析文件

    如何用golang快速构建一个CLI小工具02 解析文件 在上一篇文章中 我们构建了一个叫autoSeletor的子命令用来随机选择我们输入的字符数组 在这篇中 我们来给我们的这个子命令加点功能 解析文件 我们希望通过文件的方式来作为输入
  • sqli-labs靶场搭建过程及报错解决方法

    下载后放在www目录下 我这里用的是phpstudy pro 修改数据库密码 运行时结果是这样的 查了好多资料说是php的版本不能超过5 5 我看了一下 也没超过5 5啊 然后我就去修改靶场代码 都修改了依旧报错 折腾好久后发现php的版本
  • 科大讯飞教育BG技术支持实习面试流水账(留给有缘人)

    这个岗位对于技术要求不是这么多 更多的是语言表达能力 1 科大讯飞在我们学校有宣讲 而我当时没有投 等过了段时间之后 其他的不是很满意 从某招聘软件上投的 面试官就问了这个问题 然后我的回答是 当时投了别的公司 对那些岗位不是很满意 于是想
  • Firefox上实现跨域访问

    IE浏览器可以在 工具 gt Internet 选项 gt 安全 gt 自定义级别 中启用 跨域浏览窗口和框架 通过域访问数据源 Firefox上如何设置呢 从 about config 里设置 signed applets codebas
  • 后端(一):Tomcat

    我们之前的前端是被我们一笔带过的 那不是我们要讲的重点 而这里的后端则是重点 本章先来认识认识后端的基础 Tomcat 是什么 我们先来聊聊什么叫做tomcat 我们熟悉的那个是汤姆猫 这和我们Java世界中的Tomcat 不是同一只猫 来
  • linux 杂记 怎么解决 cuda 10.1 跑 cuda8下的代码 error

    一个问题 error home dell cache Python Eggs correlation package 0 1 py2 7 linux x86 64 egg tmp correlation package ext corr c
  • 【满分】【华为OD机试真题2023 JAVA&JS】简单的解压缩算法

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 简单的解压缩算法 知识点栈 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 现需要实现一种算法 能将一组压缩字符串还原成原始字符串 还原规则如下 1 字符后面加数
  • obj : error LNK2019: 无法解析的外部符号 "public: __thiscall B::B(void)" (??0B@@QAE@XZ),该符

    今天在写类的简单实现时突然遇见这样的问题 最后发现是因为自己忘记实现构造函数的析构函数 class B public A public B B 出现该错误 obj error LNK2019 无法解析的外部符号 public thiscal
  • Linux Shell脚本字符串命令中的管道符处理

    问题 Linux shell字符串命令 等于包含多条命令 中的管道符 需用eval来求值 否则管道符 会被当做普通字符串来处理 输出非期望的结果 bin bash CMD ls l home if s 1 then CMD CMD grep
  • Deep Reinforcement Learning 基础知识(DQN方面)

    Introduction 深度增强学习Deep Reinforcement Learning是将深度学习与增强学习结合起来从而实现从Perception感知到Action动作的端对端学习的一种全新的算法 简单的说 就是和人类一样 输入感知信
  • Golang-使用 gvm 进行版本控制

    当你想为每个项目切换 go 版本时 gvm Go Version Manager 很方便 这里 我将介绍 如何在Mac上安装gvm 和 如何使用gvm 使用准备 仅适用于 Mac 的准备工作 按照MacOSX 要求中的说明执行以下命令 xc
  • PostgreSQL重置所有表Sequence

    sequence 是 pg 自带的高效的自增id工具 也叫序列 sequence 使用了轻量级锁的方式来做到高效自增id的 所以会比 UPDATE 行锁快 sequence 的返回数据类型默认是64位的整数 pg 10 可以自定 small
  • 斐波那契数列的几种js实现

    斐波那契指的是这样一个数列 1 1 2 3 5 8 13 21 34 在数学上 斐波纳契数列以如下被以递归的方法定义 F 1 1 F 2 1 F n F n 1 F n 2 n gt 2 n N 随着数列项数的增加 前一项与后一项之比越来越
  • Splinter使用中遇到的问题集锦

    已经解决 1 selenium common exceptions ElementNotVisibleException Message element not visible 2 selenium common exceptions In
  • 【py小游戏系列】吃豆人,儿时的回忆

    hello大家好 今天我又发现了个有趣的小玩意 我是专写有趣小玩意的老诗 老规矩 先上效果图 这是一个吃豆人的小游戏 我们8090后这一代人肯定会碰到过 黄点是我们自己 红点就是怪物们 这是最原始版的电子游戏 然后我们可以在随便一个地方新建
  • 华为OD机试 - 查找重复代码(Java)

    题目描述 小明负责维护项目下的代码 需要查找出重复代码 用以支撑后续的代码优化 请你帮助小明找出重复的代码 重复代码查找方法 以字符串形式给定两行代码 字符串长度 1 lt length lt 100 由英文字母 数字和空格组成 找出两行代
  • 微信小程序直播live-player-plugin

    Hi 2020 今年年初 微信小程序推出了最新的直播组件 在公测期间给了一部分公司使用的权限 恰好我很有幸接触到了它 下面就是我们使用的过程 一部分功能没有开发 也就先介绍这些 后续在进行补全哦 项目根目录的 app json 分包中引用
  • Python爬虫之Js逆向案例(15)-XX话题批量获取&保存到CSV文件

    声明 XX话题批量获取分析仅用于研究和学习 如有侵权 可联系删除 大家好 本期分享的内容是一个关于批量获取话题的案例 示例URL aHR0cHM6Ly93d3cuemhpaHUuY29tL3RvcGljLzIxMjM4NDE4L3RvcC1