文章目录

  • 1copy outerHTML复制网站源码法
    • 1.1复制源码
    • 1.2 遇到的问题
  • 2 python爬取CSDN博客文章(保存为html,txt,md)
    • 2.1 安装依赖
    • 2.2 完整代码
  • 3 一键打包个人的csdn博客文章
    • CSDN文章打包下载

有时候遇到自己喜欢的博客,除了收藏点赞外,转载一下也是不错的选择,下面记录一下转载的过程及遇到的问题。
为了防止源文章删除,转载并保存到本地也是有必要的。

下面介绍三种方法,转载博客的方法

1copy outerHTML复制网站源码法

1.1复制源码

打开想要转载的博客界面:

  1. 右键->检查,然后页面右侧出现html代码
  2. Ctrl+F搜索 #article_content ,可以看到,源码中
    被选中,对应着网页中的博客内容被选中,如下图所示。当然你也可以尝试点击选中别的代码块,就可以看到对应的博客内容被选中。
  3. 将鼠标放进上图所示的红框中,右键-> 复制 ->copy outerHTML,把内容复制下来,然后打开自己的Markdown编辑器,在里面粘贴即可。

1.2 遇到的问题

问题1:文章开头有大幅空白
如下图红框中,有大片的空白。

解决:

把绿框中的内容去掉,然后做相应的调整即可,最终版如下所示:

2 python爬取CSDN博客文章(保存为html,txt,md)

2.1 安装依赖

pip install html2text==2020.1.16
pip install lxml===4.6.3
pip install requests==2.26.0

2.2 完整代码

import requests
from html2text import HTML2Text
from lxml import etree
from html import unescape
import os
"""
requirements
打了箭头的才需要手动安装,其余是自动安装的依赖库
certifi==2021.10.8
charset-normalizer==2.0.7
cssselect==1.1.0
html2text==2020.1.16  --  <--
idna==3.3
lxml==4.6.3  -----------  <--
requests==2.26.0 -------  <--
urllib3==1.26.7
"""def crawl(url):headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36",}print("crawl...")# 配置header破反爬response = requests.get(url, headers=headers)# 200就继续if response.status_code == 200:html = response.content.decode("utf8")# print(html)tree = etree.HTML(html)print("look for text...")# 找到需要的html块title = tree.xpath('//*[@id="articleContentId"]/text()')[0]block = tree.xpath('//*[@id="content_views"]')# htmlohtml = unescape(etree.tostring(block[0]).decode("utf8"))# 纯文本text = block[0].xpath('string(.)').strip()# print("html:", ohtml)# print("text:", text)print("title:", title)save(ohtml, text,title)# 完成!print("finish!")else:print("failed!")def save(html, text,title):if "output" not in os.listdir():# 不存在输出文件夹就创建os.mkdir("output")os.mkdir("output/html")os.mkdir("output/text")os.mkdir("output/markdown")with open(f"output/html/{title}.html", 'w', encoding='utf8') as html_file:# 保存htmlprint("write html...")html_file.write(html)with open(f"output/text/{title}.txt", 'w', encoding='utf8') as txt_file:# 保存纯文本print("write text...")txt_file.write(text)with open(f"output/markdown/{title}.md", 'w', encoding='utf8') as md_file:# 保存markdownprint("write markdown...")text_maker = HTML2Text()# md转换md_text = text_maker.handle(html)md_file.write(md_text)if __name__ == '__main__':# 你想要爬取的文章urlurl = ""crawl(url)

将上面完整的代码保存到本地记事本,改后缀名为.py

程序就会自动生成output文件夹了,其中有html,txt,md格式的文章了
参考资料
Xpath如何提取一个标签里的所有文本?_对明天的期待丶的博客-CSDN博客

python中HTML文档转义与反转义方法介绍_codingforhaifeng的博客-CSDN博客_python 反转义

html文件转md文件_OzupeSir-CSDN博客_html转md

两万字博文教你python爬虫requests库【详解篇】_孤寒者的博客-CSDN博客_python requests库

爬取CSDN博客文章

3 一键打包个人的csdn博客文章

打包自己的csdn文章,发现用富文本编辑器写的文章,打包下来,也是md格式,但打开后内容为空
所以尽量设置MarkDown编辑器为默认编辑器

CSDN文章打包下载

CSDN 没有提供文章导出功能,只有导入功能,所以我们可以用下述方式下载 CSDN 上的文章并保存成 Markdown 格式

  1. 登录CSDN: https://blog.csdn.net/

  2. 前往:https://blog-console-api.csdn.net/(出现404也没关系)

  3. 点击F12,在控制台()中输入下段代码并回车

var s=document.createElement('script');s.type='text/javascript';
document.body.appendChild(s);
s.src='//cdn.jsdelivr.net/gh/ame-yu/csdn-move@latest/dist/index.js';


4. CSDN上的文章就会被下载下来啦!

将下载打包的压缩包解压就可以看到文章了!
你用富文本编辑器写的文章,打包下载打开后,md文件是空的。

copy outerHTML、python爬取csdn文章、一键打包个人csdn文章保存到本地相关推荐

  1. 用python爬取笔趣阁小说并分章节保存到本地

    在宿舍无聊时想做点小程序,刚好又看到笔趣阁的广告,就想着爬一下小说看看,通过网上的爬取教程整理的 使用beautifulsoup解析request获取的HTML http://beautifulsou ...

  2. Python 爬取迷你MP4电影网,电影名称保存到本地,Requests+lxml框架

    先上图: movie.py import requests from lxml import etreefor page in range(10):url = "http://www.min ...

  3. 通过python爬取笔趣阁小说,获取图片保存本地,数据保存mysql

    通过python爬取小说图片.小说名称.作者.章节.内容.直接上代码 import requests import time from bs4 import BeautifulSoup from qu ...

  4. python爬取B站番剧索引页面并保存文本和图片

    该篇文章为"行路难=_="原创 期末的Python考试要写一个爬取网站信息的程序,我就选取了b站番剧索引页面作为目标网页(因为感觉番剧主页的信息太杂了.) 目标网页:https:/ ...

  5. python爬取正确但不出文件_python爬取糗事百科,该如何正确保存到本地文件夹?报错-问答-阿里云开发者社区-阿里云...

    我的程序已经可以爬取网络内容,但不太清楚怎么保存到当地文件夹,用网上方法试着做,但是有报错 import urllib import urllib.request import requests ## ...

  6. Python爬虫:爬取某鱼颜值主播图片并保存到本地升级版!

    一.准备 1.创建scrapy项目 scrapy startproject douyucd douyuscrapy genspider spider "www.douyu.com" ...

  7. 用python爬取爱课程首页所有的图片并下载到本地

    分析:因为是要下载所有的图片,不需要进行筛选.这就简单多了.图片一般都在"src="的后面. 代码: # -*- coding:utf-8 -*-__author__ = 'Boh ...

  8. 一文带你批量爬取某马拉雅音频数据并保存到本地~

    文件目录 写在前面 一.需求分析 二.编程思路 三.完整代码 引用源自 写在前面   今天带给大家一个爬取因音频数据的小案例,我将案列重新复现了功能并做了些小优化,今天分享给大家.还是老规矩在文末会附 ...

  9. xhr请求python_python爬取boss直聘职位数据,并保存到本地

    基本环境配置 1.requests,用于模拟http/https请求 安装: pip install requests 2.beautifulsoup4,用于解析网页,得出我们想要的内容. 安装: p ...

  10. 【爬虫实践之爬虫进阶】python爬取网页猫脸,使用opencv检测是否有猫脸,有则爬取

    使用python的opencv编写能够检测猫脸的模型可见,我前面的文章有较为详细的见解,链接如下: python使用opencv对猫脸进行检测,并且框出猫脸_小琼带你轻松学编程的博客-CSDN博客 p ...

最新文章

  1. c# 小票打印机打条形码_C#打印小票自带条形码打印
  2. java轻量级IOC框架Guice
  3. 数字人民币解密:数字人民币的系统架构、产品形态是什么样的?
  4. Java编程语言的历史和未来
  5. [POJ2157]Maze(DFS)
  6. 原生js实现浏览器全屏和退出全屏
  7. gateway中的局部过滤器_vue 过滤器
  8. Android 下拉刷新库,这一个就够了!
  9. php中的http是什么意思,请问php中三种http请求方式有什么区别呢(cURL,stream,socket)...
  10. 缓和曲线计算机编程,缓和曲线坐标计算软件
  11. ignite安装与启动
  12. 你们让我推荐的营销管理书籍找到了!
  13. PAT甲级-1118 Birds in Forest (25 分)
  14. word中的神奇的“Alt + X”
  15. Bailian——4074积水量
  16. 什么是CDN,CDN有什么作用?
  17. Inline Hook 钩子编写技巧
  18. 顾险峰:当深度学习遇到3D
  19. 推荐!国外程序员整理的Java资源大全
  20. 手持式设备产品的设计与交互

热门文章

  1. FFmpeg入门详解之75:FFmpeg转码器Java版之系统分析与设计
  2. 阿里云服务器安装asterisk开源sip软交换服务器
  3. 【WPA三维路径规划】狼群算法无人机三维路径规划【含Matlab源码 167期】
  4. 手游录屏直播技术详解 | 直播 SDK 性能优化实践
  5. Java学习分享---数组排序方法
  6. SWMM从入门到实践教程 04 快速入门案例的模拟执行
  7. Java市场饱和?他在忽悠你!
  8. 小球自由落体(计算小球经过的路程和第N次弹起的高度)
  9. java.lang.NullPointerException:null
  10. 使用FFmpeg将视频编码格式转化为H264编码