获取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 相关文章推荐
在MAC上搭建python数据分析开发环境
Jan 26 Python
利用python写个下载teahour音频的小脚本
May 08 Python
在Python程序员面试中被问的最多的10道题
Dec 05 Python
Python 查找字符在字符串中的位置实例
May 02 Python
python pickle存储、读取大数据量列表、字典数据的方法
Jul 07 Python
基于多进程中APScheduler重复运行的解决方法
Jul 22 Python
django的模型类管理器——数据库操作的封装详解
Apr 01 Python
Python+PyQt5+MySQL实现天气管理系统
Jun 16 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 Python
python各种excel写入方式的速度对比
Nov 10 Python
python爬取2021猫眼票房字体加密实例
Feb 19 Python
Python Pandas 删除列操作
Mar 16 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中调用JAVA
2006/10/09 PHP
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
js实现网页图片延时加载 提升网页打开速度
2016/01/26 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
2018/08/22 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
python使用json序列化datetime类型实例解析
2018/02/11 Python
tensorflow学习笔记之mnist的卷积神经网络实例
2018/04/15 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
Python实现弹球小游戏
2020/08/01 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
设计部经理的岗位职责
2013/11/16 职场文书
写给女朋友的道歉信
2014/01/08 职场文书
军训教官感言
2014/03/02 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
见习报告的格式
2014/10/31 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书
2019新员工试用期转正申请书3篇
2019/08/13 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android