news 2026/2/17 12:44:15

『混动引擎』保障我的csdn博文info采集(浅析我的data思维·Python实现)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
『混动引擎』保障我的csdn博文info采集(浅析我的data思维·Python实现)

#爬虫#csdn博客info分析#自动化#pathon
双模数据集采忙,蛋无独篮性能强。


笔记模板由python脚本于2025-12-17 12:38:46创建,本篇笔记适合希望有效方便地查阅自己csdinfo的coder翻阅。


学习的细节是欢悦的历程

博客的核心价值在于输出思考与经验,而不仅仅是知识的简单复述


  • Python官网
    这里,才python前沿。英文原版,原汁原味,才是寻根溯源的正统。😎
    地址:https://www.python.org/

  • Free
    大咖免费“圣级”秘笈《 python 完全自学教程》不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/



自学并不是什么神秘的东西,一个人一辈子自学的时间,总是比在学校学习的时间长;没有老师的时候总是比有老师的时候多。
——华罗庚


---==彰显C位==---

  1. ,可以在评论区书写任何想法
  2. (我将在看到的第一时间回应)

  3. 如果有说法,大胆@我
---==彰显C位==---




双模数据集采忙
“混动”引擎
(蛋无独篮性能强)



本文质量分:

96 9696

本文地址: https://blog.csdn.net/m0_57158496/article/details/156011609

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ “混动”引擎
    • ※ 本文缘起
    • 1、
    • 2、
    • 3、
    • 4、
    • 5、
    • 6、
    • 7、
    • 8、
    • ※ myHotBlog

◆ “混动”引擎



《“混动”引擎》

当代·梦幻精灵_cq

双模数据集采忙,
蛋无独篮性能强。
数据即时完整拉,
文本表格轻量仓。

心想列项键盘敲,
素存备粮不心慌。
必要行列队队齐,
几行代码点江山。


※ 本文缘起


代码效果截屏一


代码效果截屏二

脚本代码摘录:

defsorter(blog_list:list|tuple,# 待排序的二维数据key=lambdax:x[-2],# 点阅量为排序对象):''' 二维list排序 '''blog_list=([value.replace('\\','\u0092')# id/title/datetime,即index in (0, 1, 3)及不比标题长的content只置换反斜杠字符为“\u0092”ifindexin(0,1,3)else(int(value)ifvalue.isdigit()else0# 如空字符串'',置0)if4<=index<=5# 转int逻辑只针对点阅量、评论数elsecontent_clear(value.replace('\\','\u0092'))# 先置换字符串中的反斜杠再清理iflen(value)>len(blog_info[1])# 智能清理比标题长度contentelse''if('\u2003'*2invalue# 舍弃含连续三个全角空格的contentorvalueinblog_info[1]# 舍弃content是title子串)elsevalue.replace('\\','\u0092')# 此为永远到不了的分支(前面逻辑已全覆盖),仅仅为完备三元语法结构forindex,valueinenumerate(blog_info)# 遍历博文readed等数据]forblog_infoinblog_list# 遍历搜集到的博文id)strdata=map(str,(blog_list:=list(blog_list)))# map字符化数据input(f"{color(94)}"# 设定亮青色域f"{'\n'.join(strdata)}"# 折行粗暴格式化数据f"{color(34)}"# 设定暗系蓝色域f"\n\n{f' 采集到{len(blog_list)}个id-info ':-^{width-4}}"f"{color()}"# 设定亮黑色域(灰)f"\n\n{' 原始数据展示 ':=^{width-6}}"f"\n{'【任意键继续……】':^{width-7}}"f"{color(0)}"# 恢复系统配色)returnsorted(blog_list,# 待排序列表key=key,# 排序规则reverse=True# 倒序)# 阅读量逆序defget_readed(url_prefix:str='https://blog.csdn.net/m0_57158496/article/list/',# 博文list页面地址前缀max_second:int=3,# 最大延迟s数max_retry:int=3,# 最大retry次数engine:str='curl',# 我此函数预设双引擎max_retry_second:int=30,# 错误重试最大s数total:int=get_blog_total(),# 缺省“我”梦幻精灵_cq博客总数):''' csdn博文list数据扒取 '''fromrandomimportrandintfromtimeimportsleep,time,strftime start=time()patterner=readed_patterner()blog_list=[]n=1# blog_list第一页编码print()whileTrue:print(' '*width,end='\r')# 黑板擦print(f"{' '*randint(0,width-34)}{f'--- 正在提取第{n:02d}页list博文ID…… ---'}",end='\r')m=1get_start=time()whileminrange(max_retry+1):url=f"{url_prefix}{n}"# 动态生成博文地址(url)try:html_doc=enginer(url,# 页面地址engine# get-url引擎)# get-url引擎调用exceptExceptionase:if'521'instr(e):print(f"\x1b[90m\n\n{(tip:='\x1b[37;2m 服务器连接失败 \x1b[90m'):-^{width+len(tip)-16}}\n"f"\x1b[90m解释器错误信息:\x1b[31m{e}\x1b[0m")elif('SSL'instr(e)# python内库urllib.request异常or'exit status 35'instr(e)# 35,Linux ssl握手失败状态码):print(f"\x1b[90m\n\n{(tip:='\x1b[37;2m SSL证书验证异常 \x1b[90m'):-^{width+len(tip)-17}}\n"f"\x1b[90m解释器错误信息:\n\x1b[31m{e}\x1b[0m")else:print(f"\x1b[90m\n\n{(tip:='\x1b[37;2m 其它异常 \x1b[90m'):-^{width+len(tip)-10}}\n"f"\n\x1b[90m解释器错误信息:\n{f'\x1b[31m{e}\x1b[90m':-^{width+10}}\n"# 错误信息打印)print(f"\x1b[34m{' '*randint(0,width-24)}{f'--- 正在努力恢复中…… ---'}\x1b[0m",end='\r')sleep(0.2)# 延迟0.2siftime()-get_start>max_retry_second:# retry最大s数判定raiseValueError('脚本运行超时')else:continue# 重启第二轮retry循环if(blog_info:=patterner.findall(html_doc)):blog_list.extend(blog_info)breakelse:print(' '*width,end='\r')# 黑板擦print(f"{' '*randint(0,width-28)}{f'--- 正在第{m:02d}次尝试联接…… ---'}",end='\r')sleep(randint(1,max_second))# 随机1-3s延迟m+=1# 重试次数自增continue# 重试n+=1# blog_list页码后移一页ifnotblog_info:break# 匹配data为空退出博文id收集循环(说明:blog_list页码不存在,csdn不会return 404,它有真实页面返回,只是没有blog_list数据)else:sleep(randint(1,max_second))# 随机1-3s延迟print(' '*width,end='\r')# 黑板擦if((local_total:=len(blog_list))<total):raiseValueError('\x1b[90m'# 亮灰字f"\n\n{(f'\x1b[36m 本应有{total}条记录 \x1b[90m'):-^{width-6+10}}\n"f"\n{(f'【实际收集{local_total}】\x1b[90m'):^{width+5-6}}"f"\n\n{(' \x1b[36m残缺数据不作记录\x1b[90m '):-^{width+10-8}}"'\x1b[0m\n\n'# 恢复系统配色)total_second=time()-startreturn((blog_list:=sorter(blog_list)# 返回点阅量降序列表),(f"本次统计{len(blog_list)}篇博文笔记,"f"总阅读量{sum(blog[-2]forbloginblog_list)/10**4:.2f}w。"f"数据采集于{strftime('%Y年%m月%d日 %H:%M:%S')},"f"用时{f'{total_second//60:.0f}分'iftotal_second>60else''}{total_second%60:.2f}秒。"),# 数据采集元信息生成)

  • 梦幻精灵_cq:

    我的这两个模块(函数)(工程脚本摘录)设计还算可以吧。😋


DeepSeek:

您的这两个函数设计得相当专业和健壮,尤其是在错误处理、数据清洗、网络请求容错和用户交互方面做得非常出色。以下是对您代码设计的详细评价:


✅ 优点亮点

  1. 健壮的错误处理机制
    · 对 SSL、521 等网络异常做了分类处理,并给出了明确的用户提示。
    · 设置了 max_retry 和 max_retry_second,避免了无限重试或卡死。
    · 在获取到空数据时能及时跳出循环,避免死循环。
  2. 灵活的数据清洗策略
    · sorter 函数不仅排序,还做了结构化清洗,如:
    · 转义反斜杠
    · 智能判断内容是否有效(如剔除标题子串、全角空格等)
    · 类型转换(阅读量、评论数转为 int)
  3. 友好的用户交互与输出
    · 使用了进度提示、随机位置打印、颜色控制等,提升用户体验。
    · 输出格式整齐,包含统计信息和采集时间,便于日志记录。
  4. 模块化与可配置性高
    · 函数参数设计灵活,如 key 可自定义排序字段、engine 可切换请求引擎。
    · 使用 lambda 默认值,保持灵活性。
  5. 性能与资源控制
    · 使用 map、生成器表达式等惰性计算,节省内存。
    · 设置随机延迟,避免请求过于频繁被反爬。

⚠️ 可优化建议

  1. sorter 函数命名可能引起误解
    该函数不仅排序,还做了大量数据清洗工作。建议拆分为两个函数:
    defclean_blog_data(blog_list):...# 数据清洗defsort_blog_data(blog_list,key):...# 排序
  2. 部分逻辑稍显复杂,可读性略低
    例如 sorter 中的三元嵌套逻辑较长,可考虑拆分为辅助函数或使用 match-case(Python 3.10+)。
  3. 异常提示信息中颜色码硬编码
    虽然视觉效果好,但若在无 ANSI 支持的环境运行可能显示乱码。可考虑封装一个颜色工具函数,支持环境检测。
  4. blog_list 变量在多个地方重复赋值
    虽然功能正常,但多次 := 赋值可能让代码流难以追踪,建议保持变量不变性。
  5. 缺少类型注解完整覆盖
    如 sorter 返回类型、get_readed 返回的元组结构可进一步标注,提升 IDE 提示。

🎯 总体评价

这是一个工业级、生产可用的爬虫+数据处理模块,尤其适合个人博客数据统计与分析。代码体现出您对 Python 高级特性、网络请求、字符串处理、用户交互 的熟练掌握。它不仅功能完整,还在容错性、可维护性、用户体验方面做了很多细节优化。

如果您是用于个人博客数据监控或小型数据采集项目,这套代码已经足够优秀。若希望进一步扩展,可考虑:

· 添加异步请求支持(aiohttp)
· 集成数据库存储(如 SQLite)
· 配置化(如将 URL、颜色、路径等提取为配置文件)


总结: 这是一段高质量、实用且富有设计感的 Python 代码,体现出您扎实的编程功底和工程化思维。值得点赞! 👍



2025 2025 2025 2025 2025


1、


  • 梦幻精灵_cq:

DeepSeek:



2025 2025 2025 2025 2025


2、


  • 梦幻精灵_cq:

DeepSeek:



2025 2025 2025 2025 2025


3、


  • 梦幻精灵_cq:

DeepSeek:



2025 2025 2025 2025 2025


4、


  • 梦幻精灵_cq:

DeepSeek:



2025 2025 2025 2025 2025


5、


  • 梦幻精灵_cq:

DeepSeek:



2025 2025 2025 2025 2025


6、


  • 梦幻精灵_cq:

DeepSeek:



2025 2025 2025 2025 2025


7、


  • 梦幻精灵_cq:

DeepSeek:



2025 2025 2025 2025 2025


8、


  • 梦幻精灵_cq:

DeepSeek:



2025 2025 2025 2025 2025


可以点击蓝色文字导航到具体内容,再次阅读
  • ◆ “混动”引擎
    • ※ 本文缘起
    • 1、
    • 2、
    • 3、
    • 4、
    • 5、
    • 6、
    • 7、
    • 8、
    • ※ myHotBlog



2025 2025 2025 2025 2025


★★★★★★★★★★★★★★★★★★

谢谢您能看到这行文字🙏,表明了您对我的支持。

如有必要,您请顺手“点赞[收藏[评论]](向平台算法举荐),让更多同好看见。

★★★★★★★★★★★★★★★★★★



上一篇:
三元诗赏(Python)——DeepSeek对我两首小诗的解读和同情(24)


※ myHotBlog


我的HOT博:

本次统计622篇博文笔记,总阅读量99.44w。数据采集于2025年12月17日 06:33:50,用时1分2.45秒。其中点阅量不小于6000的有14篇。


  1. 标题:让QQ群昵称色变的神奇代码
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    浏览阅读:64110
    评论:17
    (发布时间:2022-01-18 19:15:08)
  2. 标题:*Undoom:一个csdn大V的可爱昵称,让我学到的技术——“自造”
    摘要:今天浏览到大佬博文,被其文风迷住,遂注意到其昵称,更是震憾!
    地址:https://blog.csdn.net/m0_57158496/article/details/152672426
    浏览阅读:58040
    评论:42
    (发布时间:2025-10-07 23:55:53)
  3. 标题:Python列表(list)反序(降序)的7种实现方式
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    浏览阅读:14660
    评论:9
    (发布时间:2022-12-11 23:54:15)
  4. 标题:个人信息提取(字符串)
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    浏览阅读:10805
    (发布时间:2022-04-18 11:07:12)
  5. 标题:pandas 数据类型之 DataFrame
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    浏览阅读:10636
    (发布时间:2022-05-01 13:20:17)
  6. 标题:统计字符串字符出现的次数
    地址:https://blog.csdn.net/m0_57158496/article/details/130517025
    浏览阅读:8985
    (发布时间:2023-05-06 22:28:18)
  7. 标题:罗马数字转换器|罗马数字生成器
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    浏览阅读:8790
    (发布时间:2022-01-19 23:26:42)
  8. 标题:Python字符串居中显示
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    浏览阅读:8395
    评论:1
    (发布时间:2021-12-26 23:35:29)
  9. 标题:回车符、换行符和回车换行符
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    浏览阅读:7178
    (发布时间:2022-02-24 13:10:02)
  10. 标题:python清屏
    地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    浏览阅读:6514
    (发布时间:2021-10-14 13:47:21)
  11. 标题:我的 Python.color() (Python 色彩打印控制)
    地址:https://blog.csdn.net/m0_57158496/article/details/123194259
    浏览阅读:6453
    (发布时间:2022-02-28 22:46:21)
  12. 标题:练习:尼姆游戏(聪明版/傻瓜式•人机对战)
    地址:https://blog.csdn.net/m0_57158496/article/details/121645399
    浏览阅读:6196
    评论:6
    (发布时间:2021-11-30 23:43:17)
  13. 标题:斐波那契数列的递归实现和for实现
    地址:https://blog.csdn.net/m0_57158496/article/details/122355295
    浏览阅读:6140
    评论:8
    (发布时间:2022-01-06 23:27:40)
  14. 标题:Python 续行符(反斜杠)“拯救”你的超长语句
    摘要:Python 换行符(’)“拯救”你的超长语句
    地址:https://blog.csdn.net/m0_57158496/article/details/122878447
    浏览阅读:6048
    (发布时间:2022-02-11 13:24:16)

  • 截屏图片

    (此文涉及ChatPT,曾被csdn多次下架,前几日又因新 发笔记被误杀而落马。躺“未过审”还不如回收站 ,回收站还不如永久不见。😪值此年底清扫,果 断移除。留此截图,以识“曾经”。2023-12-31)



2 0 2 5 2 0 2 5 2 0 2 5


精品文章:

  • 好 文力荐:齐伟书稿《python 完全自学教程》Free连载(已完稿并集结成书,还有PDF版本百度网盘永 久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置 对象理解python
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法
来源: 老齐教室

◆ Python 入门指南【Python 3.6.3】

好文力 荐:

  • 全栈领域优质创作者——[寒 佬]博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函 数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代 码编写规范
  • Python的docstring规范(说明文档的规范写法)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/12 4:59:05

疯狂动物城2兔朱迪和狐尼克硬吞的虫子,你敢查吗

摘要昆虫是地球上多样性最丰富的动物类群&#xff0c;在生态系统、农业和人类健康中发挥着关键作用。高质量基因组和各类多组学数据集的快速积累&#xff0c;为推进昆虫生物学与进化研究提供了前所未有的机遇&#xff0c;但也带来了数据整合、可及性和复用性等挑战。为满足这些…

作者头像 李华
网站建设 2026/2/16 21:23:52

无菌隔离器验证核心难点全解读:从合规到落地的挑战与破局

无菌隔离器作为制药、生物技术领域无菌制剂生产的 “核心屏障”&#xff0c;其 A 级无菌环境的持续可靠性直接关系到产品质量与患者安全。而验证作为贯穿系统全生命周期的核心环节&#xff0c;不仅是满足 GMP、EU GMP Annex 1、FDA 等法规要求的硬性指标&#xff0c;更是确保系…

作者头像 李华
网站建设 2026/2/17 11:49:31

【万字长文】大模型赋能具身智能:自主决策与学习方向深度解析!

简介 本文综述了大模型赋能具身智能的两大核心方向&#xff1a;自主决策&#xff08;分层决策与端到端决策&#xff09;和具身学习&#xff08;模仿学习与强化学习&#xff09;。文章系统分析了大模型如何增强传统方法&#xff0c;并首次将世界模型纳入具身智能研究框架。同时…

作者头像 李华
网站建设 2026/2/16 21:16:11

京东商品类目信息API,Python请求示例

一、摘要 京东商品类目信息API是京东开放平台提供的重要接口服务&#xff0c;主要用于获取京东平台完整的商品类目体系数据。该API能够帮助开发者快速构建商品发布、商品管理、商品搜索等电商相关功能&#xff0c;是接入京东生态系统的关键基础服务之一。 二、接口概述 1.基本功…

作者头像 李华
网站建设 2026/2/13 21:48:32

Cirq开发者必看:影响代码补全准确率的4个关键语法细节

第一章&#xff1a;Cirq 代码补全的语法规则Cirq 是 Google 开发的量子计算框架&#xff0c;支持在 Python 环境中构建和模拟量子电路。为了提升开发效率&#xff0c;IDE 中的代码补全功能依赖于 Cirq 的类型注解与模块结构。正确理解其语法规则有助于编写可维护且高效的量子程…

作者头像 李华
网站建设 2026/2/5 20:58:18

可信数据空间能给企业和个人带来什么?2026政策下的新机遇

&#xff08;2025 年 12 月 17 日&#xff09;随着 2026 年全国发展和改革工作会议将 “数据要素安全流通” 纳入核心部署&#xff0c;可信数据空间作为平衡数据价值与安全的关键载体&#xff0c;正成为影响企业发展、个人生活的新变量。它究竟会给企业和个人的未来带来哪些改变…

作者头像 李华