获取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进阶教程之模块(module)介绍
Aug 30 Python
Python中if __name__ == &quot;__main__&quot;详细解释
Oct 21 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
Mar 16 Python
python re模块findall()函数实例解析
Jan 19 Python
用十张图详解TensorFlow数据读取机制(附代码)
Feb 06 Python
python爬取淘宝商品详情页数据
Feb 23 Python
python定位xpath 节点位置的方法
Aug 27 Python
python实现获取单向链表倒数第k个结点的值示例
Oct 24 Python
pandas 空数据处理方法详解
Nov 02 Python
python给图像加上mask,并提取mask区域实例
Jan 19 Python
Python爬虫实现HTTP网络请求多种实现方式
Jun 19 Python
如何用python插入独创性声明
Mar 31 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
跟我学Laravel之安装Laravel
2014/10/15 PHP
JS 遮照层实现代码
2010/03/31 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
实现JavaScript的组成----BOM和DOM详解
2016/05/18 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
分享一个常用的Python模拟登陆类
2015/03/29 Python
python类装饰器用法实例
2015/06/04 Python
Python批量修改文本文件内容的方法
2016/04/29 Python
python 显示数组全部元素的方法
2018/04/19 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
python 实现aes256加密
2020/11/27 Python
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
Footshop法国:购买运动鞋
2020/01/19 全球购物
灵泰克Java笔试题
2016/01/09 面试题
面试后感谢信怎么写
2014/02/01 职场文书
幼儿园教师培训方案
2014/02/04 职场文书
卖车协议书范例
2014/09/16 职场文书
教师先进个人材料
2014/12/17 职场文书
导游词之安徽九华山
2019/09/18 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
Python快速实现一键抠图功能的全过程
2021/06/29 Python
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python