CSDN手动链接抓取整合工作流

张开发
2026/4/8 1:54:21 15 分钟阅读

分享文章

CSDN手动链接抓取整合工作流
CSDN手动链接抓取整合工作流工作流概述用途手动输入 CSDN 文章链接 → 抓取标题标签正文图片 → 生成多版本去重文章输出目录临时文件/csdn_[文章标识]/流程步骤1. 用户提供 CSDN 链接 ↓ 2. 抓取文章内容requests BeautifulSoup - 标题 - 标签 - 正文段落/列表/代码块/引用 - 图片链接保持位置 ↓ 3. 生成原始 markdown 文件 ↓ 4. 深度去重处理生成 N 个版本 - 标题变体 - 正文重组策略 ↓ 5. 文件命名 文章标题.md ↓ 6. 输出到临时文件目录技术实现1. 抓取脚本import requests from bs4 import BeautifulSoup import re import json url 用户提供的CSDN链接 headers { User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 } resp requests.get(url, headersheaders, timeout30) resp.encoding utf-8 soup BeautifulSoup(resp.text, html.parser) # 提取标题 title_tag soup.find(h1, class_title-article) or soup.find(title) title title_tag.get_text(stripTrue) # 提取标签 tags [] tag_container soup.find(div, class_article-tag) if tag_container: tags [t.get_text(stripTrue) for t in tag_container.find_all(a)] # 提取正文内容段落/列表/代码/图片 content_parts [] article_content soup.find(article, idarticle-content) or soup.find(div, idcontent_views) for elem in article_content.descendants: if elem.name img: img_src elem.get(src) or elem.get(data-src) content_parts.append({type: img, src: img_src}) elif elem.name pre: content_parts.append({type: code, text: elem.get_text()}) elif elem.name in [ul, ol]: items [li.get_text(stripTrue) for li in elem.find_all(li, recursiveFalse)] content_parts.append({type: list, items: items, ordered: elem.name ol}) elif elem.name.startswith(h): level int(elem.name[1]) content_parts.append({type: heading, level: level, text: elem.get_text(stripTrue)}) elif elem.name p: text elem.get_text(stripTrue) if text and len(text) 10: content_parts.append({type: para, text: text})2. 去重策略20种策略说明strategy_0原始顺序strategy_1段落随机打乱strategy_2章节逆序strategy_3前后半交换strategy_4段内句子打乱strategy_5列表项重排strategy_6段落打乱 列表重排strategy_7章节逆序 句内打乱strategy_8前后半 列表重排strategy_9全混合三层嵌套strategy_10-19更多组合策略3. 标题生成根据原标题生成 N 个不同角度的标题变体# 示例原标题 从零开始学大模型应用开发零基础搭建 AI 智能系统 titles [ 从零开始学大模型应用开发零基础搭建AI智能系统, 零基础入门大模型应用开发手把手搭建AI智能系统, 大模型应用开发实战指南从环境配置到项目落地, AI智能系统开发入门三大项目带你从零到一, 大模型应用开发教程30分钟搭建你的第一个AI系统, # ... 更多变体 ]4. 文件命名def sanitize_filename(title): 清理文件名移除非法字符 name re.sub(r[|], _, title) name re.sub(r[:/\\?*], , name) name re.sub(r\s, _, name) return name.strip(._) filename sanitize_filename(title) .md输出格式每个生成的 markdown 文件结构# [标题变体] 标签#标签1、#标签2、#标签3... #### 章节1 正文段落... - 列表项1 - 列表项2 python # 代码块章节2...执行记录2026-04-06 执行源链接https://blog.csdn.net/tangyudi001/article/details/159463719源标题从零开始学大模型应用开发零基础搭建 AI 智能系统输出目录-临时文件/csdn_tangyudi/- 11个文件原始 10变体-临时文件/csdn_tangyudi_40/- 40个文件标签#人工智能、#大模型、#自然语言处理、#大模型开发、#智能体开发、#agent开发、#AI图片2张学习资料包引导图 结尾二维码使用方式用户提供 CSDN 文章链接执行抓取脚本获取内容指定生成版本数量默认 10 或 40自动生成去重版本文件命名使用标题输出到临时文件目录注意事项图片链接保持原位置不变代码块完整保留标签统一保留正文重组时保持逻辑连贯性文件名需清理特殊字符

更多文章