获取CSDN文章内容并转换为markdown文本的python


Posted in Python onSeptember 06, 2020

自己写的小工具,可以直接获取csdn文章并转换为markdown格式

效果图

获取CSDN文章内容并转换为markdown文本的python

核心代码

from PySide2.QtWidgets import QApplication,QMainWindow,QPushButton,QPlainTextEdit,QMessageBox
import re
import parsel
import tomd
import requests
class CSDN():
  def __init__(self):
    self.windows = QMainWindow()
    self.windows.resize(450, 300)
    self.windows.setWindowTitle("轻松获取csdn文章--by tansty")
    self.setup_ui()
    self.set_connect()
  def set_connect(self):
    #设置建立联系
    self.button.clicked.connect(self.spider_csdn)
  def setup_ui(self):
    #设置ui界面的建立
    self.button = QPushButton(self.windows)
    self.button.resize(100, 100)
    self.button.move(150, 150)
    self.button.setText("获取文章")
    self.text = QPlainTextEdit(self.windows)
    self.text.setPlaceholderText("请输入需要获取文章的链接")
    self.text.resize(450, 100)
  def spider_csdn(self):
    # 目标文章的链接
    title_url=self.text.toPlainText()
    MessageBox = QMessageBox(self.windows)
    if not title_url:
      MessageBox.critical(self.windows, "错误", "请输入网址")
      return
    head={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36 Edg/84.0.522.52"
    }
    html=requests.get(url=title_url,headers=head).text
    page=parsel.Selector(html)
    #创建解释器
    title=page.css(".title-article::text").get()
    res = re.compile("[^\u4e00-\u9fa5^a-z^A-Z^0-9]")
    restr = ''
    res.sub(restr, title)
    content=page.css("article").get()
    content=re.sub("<a.*?a>","",content)
    content = re.sub("<br>", "", content)
    texts=tomd.Tomd(content).markdown
    #转换为markdown 文件
    with open(title+".md",mode="w",encoding="utf-8") as f:
      f.write("#"+title)
      f.write(texts)
      MessageBox.information(self.windows,"正确","获取文章完成")
if __name__ == '__main__':
  app = QApplication()
  csdn=CSDN()
  csdn.windows.show()
  app.exec_()

文件打包下载 链接: https://pan.baidu.com/s/1R6RcrDagwf1vWzmRCBja4w 提取码: ug6n

Python 相关文章推荐
Python实现批量更换指定目录下文件扩展名的方法
Sep 19 Python
Python 搭建Web站点之Web服务器与Web框架
Nov 06 Python
详谈python3 numpy-loadtxt的编码问题
Apr 29 Python
python 重定向获取真实url的方法
May 11 Python
flask框架视图函数用法示例
Jul 19 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
对PyQt5基本窗口控件 QMainWindow的使用详解
Jun 19 Python
如何利用Python开发一个简单的猜数字游戏
Sep 22 Python
分享一个pycharm专业版安装的永久使用方法
Sep 24 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
Jul 28 Python
windows安装python超详细图文教程
May 21 Python
浅谈Python描述数据结构之KMP篇
Sep 06 #Python
详解Python3 定义一个跨越多行的字符串的多种方法
Sep 06 #Python
Python中实现一行拆多行和多行并一行的示例代码
Sep 06 #Python
Pytest单元测试框架如何实现参数化
Sep 05 #Python
Python实例方法、类方法、静态方法区别详解
Sep 05 #Python
Python装饰器如何实现修复过程解析
Sep 05 #Python
Python JSON常用编解码方法代码实例
Sep 05 #Python
You might like
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
无线电广播与收音机发展的历史回眸
2021/03/02 无线电
php学习笔记之面向对象
2014/11/08 PHP
Yii rules常用规则示例
2016/03/15 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
js预载入和JavaScript Image()对象使用介绍
2011/08/28 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
vue一个页面实现音乐播放器的示例
2018/02/06 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
JavaScript this关键字指向常用情况解析
2020/09/02 Javascript
浅谈python中的getattr函数 hasattr函数
2016/06/14 Python
Python正则表达式使用范例分享
2016/12/04 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
numpy中索引和切片详解
2017/12/15 Python
matplotlib绘图实例演示标记路径
2018/01/23 Python
Windows环境下python环境安装使用图文教程
2018/03/13 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
python yield关键词案例测试
2019/10/15 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
python装饰器原理与用法深入详解
2019/12/19 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
Python自动创建Excel并获取内容
2020/09/16 Python
linux面试相关问题
2012/08/11 面试题
写求职信要注意什么问题
2014/04/12 职场文书
2015年外贸业务员工作总结范文
2015/05/23 职场文书
2015年普法依法治理工作总结
2015/05/26 职场文书
圣诞晚会主持词
2015/07/01 职场文书
Go使用协程交替打印字符
2021/04/29 Golang
Nginx图片服务器配置之后图片访问404的问题解决
2022/03/21 Servers