首先感叹下,ChatGPT确实是强大。我谢谢它。
本文分享一段它写的代码。用于下载某个指定页面的指定后缀文件。
具体是通过这个代码下载
https://www.3gpp.org/ftp/Specs/2022-12/Rel-18/38_series
这个链接下的所有zip文件。
也就是2022年12月发布的最新的R18的38系列规范。
原页面如下:
通过ChatGPT的代码执行过程会提示正在下载:
最终下载的结果:
以下是代码分享,稍微改改就可以举一反三下载其他规范了。
感谢比一般程序猿写得都好。厉害。
我把这个py文件放在51学通信网站上供下载。
下载地址:
51xuetongxin.com/3gpp.py
ChatGPT写的代码如下:
【再强调一下,不是我写的,是ChatGPT自动写的。不到30秒就写完了。】
import os
import re
import requests
from bs4 import BeautifulSoup
def get_zip_urls(url):
"""
获取zip文件的url
"""
html = requests.get(url).text
soup = BeautifulSoup(html, 'lxml')
zip_urls = []
for a in soup.find_all('a'):
if a.get('href').endswith('.zip'):
zip_urls.append(a.get('href'))
return zip_urls
def download_zip(url, path):
"""
下载zip文件
"""
if not os.path.exists(path):
os.makedirs(path)
zip_urls = get_zip_urls(url)
for zip_url in zip_urls:
zip_name = re.search(r'[^/]+$', zip_url).group()
print('正在下载{}'.format(zip_name))
with open(os.path.join(path, zip_name), 'wb') as f:
f.write(requests.get(zip_url).content)
if __name__ == '__main__':
url = 'https://www.3gpp.org/ftp/Specs/2022-12/Rel-18/38_series'
path = 'zip'
download_zip(url, path)