获取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写xml文件的操作实例
Oct 05 Python
python实现比较两段文本不同之处的方法
May 30 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
python中format()函数的简单使用教程
Mar 14 Python
python实现csv格式文件转为asc格式文件的方法
Mar 23 Python
Python命名空间的本质和加载顺序
Dec 17 Python
基于Python打造账号共享浏览器功能
May 30 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
Jan 02 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
Feb 07 Python
python 装饰器的基本使用
Jan 13 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 Python
python实现ROA算子边缘检测算法
Apr 05 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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
整合了前面的PHP数据库连接类~~做成一个分页类!
2006/11/25 PHP
10条PHP编程习惯助你找工作
2008/09/29 PHP
php中JSON的使用与转换
2015/01/14 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
2015/04/12 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
python sys模块sys.path使用方法示例
2013/12/04 Python
Python中的集合类型知识讲解
2015/08/19 Python
Django开发中复选框用法示例
2018/03/20 Python
python+opencv识别图片中的圆形
2020/03/25 Python
详解Python Qt的窗体开发的基本操作
2019/07/14 Python
Python生成器next方法和send方法区别详解
2020/05/30 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
python实现定时发送邮件
2020/12/23 Python
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
allbeauty美国:英国在线美容店
2019/03/11 全球购物
铭万公司.net面试题笔试题
2014/07/20 面试题
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
创业计划书六个要素
2013/12/26 职场文书
写给老婆的检讨书
2014/02/21 职场文书
建筑结构施工专业推荐信
2014/02/21 职场文书
初中差生评语
2014/12/29 职场文书
违规违纪检讨书范文
2015/05/06 职场文书
2015中学教师个人工作总结
2015/07/22 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python