获取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基础教程之基本内置数据类型介绍
Feb 20 Python
详解Python的迭代器、生成器以及相关的itertools包
Apr 02 Python
在Docker上部署Python的Flask框架的教程
Apr 08 Python
Python中用于计算对数的log()方法
May 15 Python
Unicode和Python的中文处理
Mar 19 Python
python机器学习理论与实战(四)逻辑回归
Jan 19 Python
详解python 注释、变量、类型
Aug 10 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
Cython编译python为so 代码加密示例
Dec 23 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 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/03 咖啡文化
深入PHP许愿墙模块功能分析
2013/06/25 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
php生成gif动画的方法
2015/11/05 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
jquery UI Datepicker时间控件的使用方法(终结版)
2015/11/07 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
Bootstrap3多级下拉菜单
2017/02/24 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
微信小程序自定义键盘 内部虚拟支付
2018/12/20 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
[01:09:40]Newbee vs Pain 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
python对指定目录下文件进行批量重命名的方法
2015/04/18 Python
Python实现的RSS阅读器实例
2015/07/25 Python
centos6.4下python3.6.1安装教程
2017/07/21 Python
Windows下PyCharm安装图文教程
2018/08/27 Python
python实现简单的文字识别
2018/11/27 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
深入了解python中元类的相关知识
2019/08/29 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
来自圣地亚哥的实惠太阳镜:Knockaround
2018/08/27 全球购物
酒店销售经理岗位职责
2014/01/31 职场文书
五年级下册复习计划
2015/01/19 职场文书
九年级化学教学反思
2016/02/22 职场文书
创业计划书之o2o水果店
2019/08/30 职场文书
python 安全地删除列表元素的方法
2022/03/16 Python