所有分类
  • 所有分类
  • 网站源码
  • 游戏源码
  • 小程序
  • 网页特效
  • 软件工具

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

在平时的控制台程序中,我们经常感到乏味和枯燥。但是,有一个库叫做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 ="(.*?)">'
ptitle = '<dd><a href =".*?>(.*?)<'
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、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励,同时还能获得对应的人气!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:http://www.yonghengzy.cn/blog/45479.html,转载请注明出处。

0
分享海报

评论0

请先
显示验证码

社交账号快速登录