获取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实现逆波兰计算表达式实例详解
May 06 Python
python下paramiko模块实现ssh连接登录Linux服务器
Jun 03 Python
python检查URL是否正常访问的小技巧
Feb 25 Python
浅谈Python Opencv中gamma变换的使用详解
Apr 02 Python
python 按照固定长度分割字符串的方法小结
Apr 30 Python
django用户登录和注销的实现方法
Jul 16 Python
Python中numpy模块常见用法demo实例小结
Mar 16 Python
Python面向对象程序设计之类的定义与继承简单示例
Mar 18 Python
python flask解析json数据不完整的解决方法
May 26 Python
解决Python数据可视化中文部分显示方块问题
May 16 Python
改变 Python 中线程执行顺序的方法
Sep 24 Python
Python一些基本的图像操作和处理总结
Jun 23 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
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
php与mysql建立连接并执行SQL语句的代码
2011/07/04 PHP
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
php网页标题中文乱码的有效解决方法
2014/03/05 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
2018/03/12 PHP
jQuery数据显示插件整合实现代码
2011/10/24 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
JS实现头条新闻的经典轮播图效果示例
2019/01/30 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
Python转换HTML到Text纯文本的方法
2015/01/15 Python
python统计字符串中指定字符出现次数的方法
2015/04/04 Python
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
2020/06/23 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
Python堆排序原理与实现方法详解
2018/05/11 Python
Python数据类型之Number数字操作实例详解
2019/05/08 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
J2EE中常用的名词进行解释
2015/11/09 面试题
计算机专业个人简短的自我评价
2013/10/23 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
辩护意见书
2015/06/04 职场文书
中学图书馆工作总结
2015/08/11 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
golang正则之命名分组方式
2021/04/25 Golang
深入浅析Django MTV模式
2021/09/04 Python
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server