写了一个获取 v2ex 我收藏的主题帖子的列表的工具
由于 v 站我收藏的主题页面 (https://www.v2ex.com/my/topics) 没有搜索功能,检索比较麻烦。我目前已经收藏了 595 个帖子了,这些帖子往往都是我们认为优质或者对自己十分有用希望后续能够翻阅的帖子。昨天下雨就在家肝了下面这个小项目。把关注的所有帖子的标题以及 url 还有创建时间获取到了。
项目地址:GetMyV2exTopicsList
我收藏的帖子状况
数据截止 2021-07-26 14:37:57
收藏有 595 个帖子
30 页数据
但是这个页面没有搜索功能,有时候想找一个印象中曾经收藏过的帖子,翻遍了好几页也没找到,甚至找了几页又找了回来,担心看丢。
效果预览
导出后在终端当前文件夹下生成 myv2extopicslist.json
文件。下面是一个简单的预览
使用方法
1. 获取 v 站的 cookies
如下图对应的 v 站的 5 个 cookie
2. 下载 jar 包
去该项目的 release 页面下载最新版本的 jar 包到本地
3. 本地通过 java -jar
运行
确保本机安装有 java 8 以上环境。
打开终端,运行 java -jar .\getv2exmytopics-0.0.1-SNAPSHOT.jar TOTAL_PAGE_NUMBER "A2=aaa" "V2EX_LANG=zhcn" "PB3_SESSION=bbb" "V2EX_TAB=ccc" "V2EX_REFERRER=ddd"
将对应的 cookie 值替换成你自己的。
运行截图
注意:
- TOTAL_PAGE_NUMBER 打开 https://www.v2ex.com/my/topics 查看收藏的帖子共有多少页。此值需要小于等于你看到的页数。由于没有请求 v 站相应接口获取页数,所以这个值没有最大值校验。但运行时你可以输入 1 2 等只导出第一页或前两页数据
- cookies 需要写成 "COOKIE_NAME=COOKIE_VALUE" 的形式。在 PowerShell 下需要使用双引号包裹 cookie 的键和值
- 由于 v 站现在被墙,所以建议你使用科学上网的路由器运行。或者在终端使用临时的代理
- v 站 COOKIE_VALUE cookie 的值(字符串类型)用双引号包裹了。填入 "COOKIE_NAME=COOKIE_VALUE" 时,需要把 复制过来的 COOKIE_VALUE 两端的双引号去掉
- 遇到 Caused by: java.io.EOFException: SSL peer shut down incorrectly 问题建议优先更换代理节点。比如美国节点更换成新加坡节点
- 如果不具备科学上网路由器也可以在你的海外 VPS 上执行这个任务。使用
wget
将 jar 包下载到 vps 上然后执行任务 (也很建议这么做)
Linux/macOS 下终端创建临时代理
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
Windows 下使用 cmd 或者 PowerShell 创建临时代理
set http_proxy=http://127.0.0.1:7890
set https_proxy=http://127.0.0.1:7890
后记
昨天下雨在家刚好在 n1 上装了一个 leanote 服务。发现还可以直接将文章一键发布成博文,挺有意思的。
我导出了我近期收藏的两页帖子,托管在 n1 上了。
v2ex 我收藏的帖子列表 https://blog.hellodk.com/blog/post/dk11/v2ex-my-topics
end.
紫薯补丁