获取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的迭代器和生成器使用实例
Jan 14 Python
python中set常用操作汇总
Jun 30 Python
Python编程实现数学运算求一元二次方程的实根算法示例
Apr 02 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
Python在cmd上打印彩色文字实现过程详解
Aug 07 Python
python第三方库学习笔记
Feb 07 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 Python
TensorFlow保存TensorBoard图像操作
Jun 23 Python
零基础学Python之前需要学c语言吗
Jul 21 Python
Java byte数组操纵方式代码实例解析
Jul 22 Python
教你如何使用Python下载B站视频的详细教程
Apr 29 Python
5行Python代码实现一键批量扣图
Jun 29 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
无线电的诞生过程
2021/03/01 无线电
php中定时计划任务的实现原理
2013/01/08 PHP
php防止SQL注入详解及防范
2013/11/12 PHP
PHP网络操作函数汇总
2015/05/18 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
[原创]图片分页查看
2006/08/28 Javascript
event.X和event.clientX的区别分析
2011/10/06 Javascript
鼠标放在图片上显示大图的JS代码
2013/03/26 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
JavaScript&quot;模拟事件&quot;的注意要点详解
2019/02/13 Javascript
Javascript前端下载后台传来的文件流代码实例
2020/08/18 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
Flask解决跨域的问题示例代码
2018/02/12 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
python字符串Intern机制详解
2019/07/01 Python
python 协程中的迭代器,生成器原理及应用实例详解
2019/10/28 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
html5基础标签(html5视频标签 html5新标签用法)
2013/12/30 HTML / CSS
兰蔻英国官网:Lancome英国
2019/04/30 全球购物
eBay奥地利站:eBay.at
2019/07/24 全球购物
2014年信贷员工作总结
2014/11/18 职场文书
2014年实验室工作总结
2014/12/03 职场文书
天那边观后感
2015/06/09 职场文书
2019同学聚会主持词
2019/05/06 职场文书
Python中requests库的用法详解
2022/06/05 Python