当前位置: 首页 > news >正文

導出微博喜歡列表

與 導出 V2ex 的收藏主題 和 導出知乎收藏夾 的理由相似,一來爲了做覆盤,而來爲了備份自己賬號的數據,玩意哪天賬號被封禁了,或者不想要了,直接可以拋棄,做到沒有成本。

實現

接口比較簡單,沒有加密,核心邏輯如下:

def weibo(uid: int, output: str, force: bool):result_index = "";page_index = 1while True:page = get_weibo_like_list(uid, page_index)if page is None:print("獲取微博喜歡列表失敗,請檢查接口")breakif page.ok == 1:list = page.data.listif len(list) == 0:breakfor item in list:try:post_id = item.mblogidpost_user = item.user.idpost_url = f"https://weibo.com/{post_user}/{post_id}"filename = f"{post_user}-{post_id}"# 提前剪枝if not force:file_path = os.path.join(output, f"~{filename}.md")if os.path.exists(file_path):print(f"已存在: {filename}.md,同步結束")print("導出index\n", result_index)returnauther_name = item.user.screen_namecontext_digest = get_clean_filename(item.text_raw[:10])title = auther_name + ":" + context_digestcreated_at_str = item.created_atarticle = item.text_raw# 如果是長文本if item.isLongText:longtext = get_weibo_longtext_by_id(post_id)if longtext is not None:article = get_weibo_longtext_by_id(post_id)# %a: 縮寫星期 (Wed)# %b: 縮寫月份 (Dec)# %d: 日期 (24)# %H:%M:%S: 時間 (04:08:45)# %z: 時區偏移 (+0800)# %Y: 年份 (2025)dt_obj = datetime.strptime(created_at_str, "%a %b %d %H:%M:%S %z %Y")webpage = WebPage(comments=True,draft=True,title=title,source=post_url,created=dt_obj.strftime("%Y-%m-%dT%H:%M:%S"),modified=dt_obj.strftime("%Y-%m-%dT%H:%M:%S"),type="archive-web")md = dump_markdown_with_frontmatter(webpage.__dict__,article + '\n\n' + handle_weibo_pic(item))output_content_to_file_path(output,filename,md,"md")print(f"Done: {title}")result_index += f'\n- {title}'except Exception as e:print(f"處理報文發生錯誤: {e},微博可能已經被刪除,跳過處理")page_index += 1else:print("獲取微博喜歡列表失敗,請檢查接口")breakdef handle_weibo_pic(item) -> str:if item.pic_num is None or item.pic_num == 0 or item.pic_ids is None or len(item.pic_ids) == 0 :return ""result = ""pic_infos = item.pic_infosfor pic_id in item.pic_ids:pic_info = pic_infos[pic_id]url = pic_info.largest['url']result += f"![{pic_id}]({url})\n\n"return result

不用你說我都知道代碼套了這麼多層有點噁心,但是請允許我先吐槽一下微博爲的報文, 因爲好多之前的微博被刪了,或者博主不展示了,所以列表裏面就會展示一些不規範的報文:

{"visible": {"type": 0,"list_id": 0},"created_at": "Thu May 22 15:26:53 +0800 2025","id": 5169124633215311,"idstr": "5169124633215311","mid": "5169124633215311","mblogid": "Pt0fldurR","source": "","attitudes_status": 1,"deleted": "1","share_repost_type": 0,"showFeedRepost": false,"showFeedComment": false,"pictureViewerSign": false,"showPictureViewer": false,"rcList": [],"analysis_extra": "","readtimetype": "mblog","mblog_feed_back_menus_format": [],"isAd": false,"isSinglePayAudio": false,"text": "抱歉,此微博已被刪除。查看幫助:<a target=\"_blank\" href=\"https://t.cn/EAL6hw7\"><img class=\"icon-link\" src=\"https://h5.sinaimg.cn/upload/2015/09/25/3/timeline_card_small_web_default.png\"/>網頁鏈接</a>","text_raw": "抱歉,此微博已被刪除。查看幫助:http://t.cn/EAL6hw7"}

加上我也懶得適配了,所以就寫成這樣了,嘻嘻。

侷限

當然這樣的實現非常快,且仍然有幾個侷限:

  1. 圖片防盜鏈,在一些沒有防盜鏈處理的地方,比如編輯器,圖片會顯示,但是像是黑曜石這裏就無法顯示;
  2. Cookie 過期時間,過期時間還不明確,但大概不超過半個月,也就是說,如果想要每週進行數據導出的話,需要每週事先去對應的頁面去抓包獲取 Cookie,確實有點扯。。。

如何使用

pipx install export_to_obsidian
export WEIBO_COOKIE=""
eto weibo -u xxx -o ./weibo

-u 是你的用戶 ID,可以去頁面路由中取得,如:

https://weibo.com/u/page/like/xxx

xxx 就是你的 UID

Source via: https://note.bgzo.cc/labs/1272-export-weibo-like-list

http://www.jsqmd.com/news/155323/

相关文章:

  • springboot汽车资讯网站(11603)
  • 推荐阅读:AI编程工具V0:重塑前端开发的代码生成能力
  • 遊戲危機
  • YOLO目标检测中的长尾分布问题:少样本类别应对
  • 20236大模型学习终极指南:30节精品课程+104G资源包,零基础也能成为AI工程师_全方位大模型教程:从基础入门到实战应用,非常详细的大模型教程
  • 推荐阅读:Revolutionizing Development: The Rise of AI-Powered App Builders
  • YOLO在矿山安全监控的应用:矿车与工人行为分析
  • 程序员必看!大模型黑话全解析:LangChain、Embedding、RAG...收藏这篇就够了
  • springboot疫情下图书馆管理系统(11604)
  • 【OD刷题笔记】- 单词加密
  • 基于stm32单片机智能门禁人脸指纹RFID识别电子密码锁成品设计app(程序+实物)全套
  • 完整的PID和LQR四旋翼无人机Simulink、Matlab仿真:两个SLX文件一个M文件及...
  • YOLO目标检测中的光照变化适应:自适应增强技术
  • matlab/simulink的复合电源超级电容能量管理仿真策略电动汽车 基于模糊控制的能量控制策略
  • YOLO模型训练资源配额管理:防止滥用的限流策略
  • Voice Agent 实战:用 OpenAI Realtime API + Twilio 复刻一个“全双工”的 AI 电话客服
  • C#上位机OPC DA网口通讯协议:覆盖95%PLC连接,附编程课程与OPC服务器赠送指南
  • mmcbase.dll文件丢失损坏找不到 打不开软件问题 下载方法
  • argparse 进阶实战指南:从脚本到专业命令行工具
  • 222
  • DBA 要失业?实测 DeepSeek-V3 优化慢 SQL 的能力,结果比我调优 3 年还准!
  • 续写云计算的前世今生
  • Tkinter 太丑?PySide6 + Fluent Design 打造 Win11 风格的现代化桌面应用(附源码)
  • 智慧校园之家长子系统毕业论文+PPT(附源代码+演示视频)
  • 软件工程补完计划 ——哈基米噢南北绿豆小组
  • 【实战干货】消费级显卡的逆袭:Stable Diffusion 3.5 FP8 模型部署与性能优化全指南
  • Adobe认证全国统一报考流程
  • Code Review 的艺术:如何优雅地告诉同事“你的代码是一坨...需要优化”?(附 CheckList)
  • Python机器学习教程
  • ▶️Python argparse 模块详解