/* */

Python带彩色进度条的笔趣阁爬虫控制台 让控制台程序更有趣

分类:技术文章 时间:2024-03-13 17:05 浏览:0 评论:0
0

在平时的控制台程序中,我们经常感到乏味和枯燥。但是,有一个库叫做rich可以改变这种情况。rich库可以为我们的控制台程序增添色彩,使其更加生动有趣。而且,这个程序还可以在手机上运行,只需直接运行代码即可。

下面是一个使用rich库的笔趣阁爬虫控制台的示例代码。如果你想替换小说,只需要修改Spider类中的url属性即可。此外,如果你想将开头的猴子捂脸表情改为月亮,只需将”monkey”改为”moon”即可。

import requests, re
from rich.progress import Progress
from rich.progress import BarColumn,Progress,SpinnerColumn,TaskProgressColumn,TimeElapsedColumn,TimeRemainingColumn,MofNCompleteColumn
class Spider:
url = "http://www.ibiquge.cc/83110"
baseurl = "http://www.ibiquge.cc"
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36'
}
def __init__(self) -> None:
self.getcatalog()
self.download()
#获取章节目录
def getcatalog(self):
self.data = []
rsp = requests.get(self.url, headers=self.headers)
purl = '<dd><a href ="http://www.yonghengzy.cn/blog/(.*?)">'
ptitle = '<dd><a href ="http://www.yonghengzy.cn/blog/.*?>(.*?)<'
for i, j in zip(re.findall(purl, rsp.text),re.findall(ptitle, rsp.text)):
self.data.append([j, self.baseurl+i])
#下载
def download(self):
with open('小说.txt', 'a') as f:
#设置进度条参数
with Progress(SpinnerColumn(spinner_name='monkey', speed=0.2),"{task.description}",BarColumn(),MofNCompleteColumn(),TaskProgressColumn(),
TimeElapsedColumn(),TimeRemainingColumn(),) as progress:
track = progress.add_task(total=len(self.data), description='downloading')
progress.update(track, advance=0) # 初始化进度条
for i in self.data:
f.write(i[0]+'n')
txt = self.parse(i[1])
f.writelines(txt)
progress.update(track, advance=1,description='downloading')
#解析小说内容
def parse(self, url):
rsp = requests.get(url,headers=self.headers)
content = rsp.text
p = '> ([sS]*?)<'
txt = re.findall(p, rsp.text)
return txt #txt is list
Spider()
1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 技术文章 > Python带彩色进度条的笔趣阁爬虫控制台 让控制台程序更有趣

用户评论