零代码编程:用ChatGPT自动批量下载电子书并重命名

文章讲述了如何使用Python脚本配合Chrome浏览器的远程调试功能,批量下载‘安娜的档案’网站上的电子书资源。通过查找特定类别的元素获取文件标题和下载链接,并使用Chromedriver处理下载请求,同时实现反爬虫策略。下载完成后,脚本还能自动关闭相关Tab页。
摘要由CSDN通过智能技术生成

喜欢在网上寻找电子书资源的肯定了解Z-Library。这是目前互联网最大的电子书网站,不过被封了。有一个网站叫“安娜的档案”,集合了 Z-Library、Library Genesis、Sci-Hub等电子书搜索引擎的资源,网站是https://zh.annas-archive.org/ ,电子书资源非常全面,而且是完全免费的。通过这个网站,基本上能找到绝大部分电子书。书多了,下载就有些麻烦。

很多时候,就一个主题搜索图书后,可能要一一下载几十本图书。另外,通过网站下载图书时,默认保存的文件名并不是图书名,而是一串数字,还需要一个个重命名,不然检索起来很麻烦。

怎么用ChatGPT帮我们解决这个问题呢?

首先打开电子书下载页面,找到电子书的下载链接,通常一本书的下载链接有好几个,其中

“选择 #3: IPFS 网关 #1 ”直接就是一个PDF下载链接,下载起来比较方便;

或者有些是: 选择#2: Z-Library匿名镜像 #1

电子书的文件标题则在class="text-3xl font-bold"的div元素里面。

好了,现在可以写提示词了:

你现在是一个专业的Python编程大师,要完成批量下载chrome浏览器中多个tab页面中文件的任务。

具体步骤如下:

找到正在打开的chrome浏览器;

定位所有网址中包括”https://zh.annas-archive.org”d的tab标签页,比如:

https://zh.annas-archive.org/md5/18a654c6eb840cbbd1f64a0fd4cfefa3

https://zh.annas-archive.org/md5/775daa7f18abe6d778ebadfb2d8a7427

在每个tab标签页中,获取网址,解析源代码;

定位class="text-3xl font-bold"的div元素,提取其内容作为文件标题;

如果找到内容为”Z-Library匿名镜像 #1”的a元素,就提取a元素的href值,作为文件下载链接,然后下载这个文件;

如果找不到内容为”>Z-Library匿名镜像 #1”的a元素,就寻找内容为”IPFS 网关 #1”的a元素,然后提取a元素的href值,作为文件下载链接,下载这个文件;

所有下载的文件都保存到d盘的books文件夹;

注意:要有反爬虫机制,每次下载请求要有一定延迟

ChatGPT在代码后面还说明:请注意,该脚本使用现有的Chrome浏览器实例,需要在运行之前在Chrome浏览器中启用远程调试。可以通过以下步骤启用:

关闭所有正在运行的Chrome浏览器实例。

按住“Win+R”键,输入cmd,然后按“Enter”打开命令提示符。

在命令提示符中,输入以下命令启动Chrome浏览器:

chrome.exe --remote-debugging-port=9222

我输入这个命令后,显示:'chrome.exe'不是内部或外部命令,也不是可运行的程序或批处理文件。

然后把'chrome.exe'的地址添加到环境变量中:

远程调试功能成功打开。

但是运行程序,出错了。把错误信息丢给ChatGPT,告诉我是chromedrive的版本不对:

然后下载对应的chromedrive文件,把文件路径复制到代码里面。注意Windows里面文件夹路径是\,而在Python里面是/。

这下终于成功下载了。

不过下载完成后,还需要手动点击关闭一个个tab。让ChatGPT再添加一个功能:每下载完成一个文件,就关闭掉其所在的tab,但不关闭浏览器

运行成功!感觉ChatGPT就像一个阿拉丁神灯一样,可以随时满足我们的愿望O(∩_∩)O哈哈~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值