目录
在 2024 年 9 月 30 日,学习了从雪球网站获取 Cookie 的方法,现在将步骤和代码分享给大家。
一、背景介绍
编程并非百分之百完美,就像支付宝也存在风险,只是很少有人去尝试破解。而对于一些网站的数据采集,我们需要掌握特定的方法来获取所需的 Cookie。
二、准备工作
无特殊准备工作,但需了解基本的编程知识和浏览器工具。
三、步骤及代码
(一)学习简单方法
- 首先,明确从简单的雪球网站开始学习。这个网站的页面相对简单,会同时触发同一个接口做两次请求。
- 在这里,我们先进行 debug 操作,解决可能出现的问题。
(二)第一次请求
- 进行第一次请求,复制 CYL,然后快速构建第一次请求。
- 第一次请求会返回两个信息:服务器生成的 cookie 和一段 JS 代码。如果有抓包工具可以直接看到这段 JS 代码,如果没有,可以将其保存到本地。
- 代码如下:
# 保存第一次请求获取的 JS 代码到本地
with open('雪球.html', 'w', encoding='utf-8') as f:
f.write(response.text)
(三)分析本地文件
- 运行程序后,本地会生成一个 “雪球.html” 的文件。在这个文件中,可以格式化查看,找到第一次请求返回的信息。
- 在第一次返回的 JS 代码当中,可以找到 set it cookie 的位置,也就是第二次请求所需要的 cookie 进行赋值的位置。
(四)第二次请求所需 Cookie
- 第二次请求需要携带两个 cookie,一个是 “ACWSCVI”,另一个是 “ACW - TC”。
- “ACWSCVI” 的来源是由第一次请求所获取的 JS 代码生成。
- “ACWTC” 是第一次请求服务器返回的 cookie。
- 代码如下:
# 获取 ACWTC
ACWTC = response.cookies.get('ACW-TC')
print(ACWTC)
(五)网页调试
- 在处理 cookie 的时候,我们会用到一个关于浏览器的工具。具体工具在后续内容中会介绍。
四、总结
通过以上步骤,我们可以初步了解从雪球网站获取 Cookie 的方法。在实际操作中,可能会遇到各种问题,需要不断尝试和调试。同时,也要注意合法合规地使用获取到的数据。