获取CSDN文章内容并转换为markdown文本的python
作者:tansty 发布时间:2021-04-05 08:32:15
标签:CSDN,文章内容
自己写的小工具,可以直接获取csdn文章并转换为markdown格式
效果图
核心代码
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
来源:https://www.52pojie.cn/thread-1260344-1-1.html
0
投稿
猜你喜欢
- 当然是可以的,而且非常简单,今天就教大家在ASP中不用模板生成HTML静态页的方法。这里假设有一个htmer.asp动态页面,你想把它生成为
- PHP getDocNamespaces() 函数实例返回 XML 文档的根节点中声明的命名空间:<?php $xml=<<
- 最近试用mysql proxy,遇到若干问题,好在一一找到了解决方案,列出来备忘。这次使用的版本是0.6.x,也许新版本就没有这些问题了。无
- 有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错
- 让我们描绘一下本文的情节:假设您要在本地机器上运行一个进程,而部分程序逻辑却在另一处。让我们特别假设这个程序逻辑会不时更新, 而您运行进程时
- 算法流程:将图像转换为灰度图像利用Sobel滤波器求出 海森矩阵 (Hessian matrix) :将高斯滤波器分别作用于Ix&s
- 环境:win10+phpstorm2022+phpstudy8+lnmp1、phpinfo(); 查看是否安装xdebug,没有
- 本文实例讲述了PHP模板引擎Smarty中变量的使用方法。分享给大家供大家参考,具体如下:一、概述:Smarty 是 PHP 众多模板引擎中
- list字符串元素排序需求:对list中的字符串按照首字母排序实现:list1 = ['as,jj,bk']for line
- 有时候我们需要将一个对象的某些属性选取出来,比方说我们有一个用数组表示的数据库表,我们需要一些函数来 select (选取) 几个字段:fu
- 程序还不是很精简,以后再修改,程序所用的数据库为-- “冯志宏”-- 所写的--“追捕”--软件中所带IP数据库和“国华软件 Guohua
- 上一课:ACCESS入门教程:窗口和菜单的使用向导简介 这一课我们要建立一个客户订单管理数据库,这个数据库将用ACCESS提供的数据库向导来
- 在用户注册中最常见的安全验证之一就是邮箱验证。根据行业的一般做法,进行邮箱验证是避免潜在的安全隐患一种非常重要的做法,现在就让我们来讨论一下
- MySQL字符集出错的解决方法:错误案例: Illegal mix of collations (gbk_chinese_ci,I
- Bit-Packed Data TypesMySQL有一些存储类型使用一个值中的一些单个的比特位来紧凑的存储数据。纯技术上将,不管是底层的存
- 前言在php开发过程中,获取文件扩展名是非常常见的需求。比如我们在上传文件的时候,首先需要判断文件类型是否为我们允许上传的类型。这个时候就需
- -------------- 函数检索 --------------trim函数: trim() lTrim() rTrim()校验字符串是
- 本文主要是基于Python Opencv 实现的图像分割,其中使用到的opencv的函数有:使用 OpenCV 函数 cv::filter2
- 本方法只做学习研究之用,不得用于商业用途若经济条件允许,请支持并购买正版,链接地址:https://www.jetbrains.com/py
- 深藏多年秘笈大公开,全世界唯一一家公布,怎么点就是点不出,纯CSS去掉按钮或者链接点击产生的虚线。运行代码框<style type=&