获取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实现探测socket和web服务示例
Mar 28 Python
python实现最长公共子序列
May 22 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
Dec 28 Python
python学习--使用QQ邮箱发送邮件代码实例
Apr 16 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
Jun 12 Python
详解Python对JSON中的特殊类型进行Encoder
Jul 15 Python
Django中的静态文件管理过程解析
Aug 01 Python
基于Tensorflow使用CPU而不用GPU问题的解决
Feb 07 Python
python 读取二进制 显示图片案例
Apr 24 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
Python虚拟环境venv用法详解
May 25 Python
python中翻译功能translate模块实现方法
Dec 17 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
php正则
2006/07/07 PHP
如何隐藏你的.php文件
2007/01/04 PHP
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
PHP中常用的转义函数
2014/02/28 PHP
php使用PDO方法详解
2014/12/27 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
2015/12/23 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
Jquery 获取对象的几种方式介绍
2014/01/17 Javascript
js使用ajax读博客rss示例
2014/05/06 Javascript
Express作者TJ告别Node.js奔向Go
2014/07/14 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
Django进阶之CSRF的解决
2018/08/01 Python
安装好Pycharm后如何配置Python解释器简易教程
2019/06/28 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
python中bytes和str类型的区别
2019/10/21 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
TensorFlow2.0:张量的合并与分割实例
2020/01/19 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
django rest framework使用django-filter用法
2020/07/15 Python
国贸专业大学生职业生涯规划范文
2014/01/10 职场文书
社团活动总结报告
2014/06/27 职场文书
单位工作证明书格式
2014/10/04 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
礼仪培训心得体会
2016/01/22 职场文书
导游词之无锡梅园
2019/11/28 职场文书
python中__slots__节约内存的具体做法
2021/07/04 Python