以lexfridman的官方网站为例,https://lexfridman.com/podcast/,如何批量下载网页呢?
查看网页源文件,播客transcript的链接是:
https://lexfridman.com/jared-kushner-transcript“>Transcript
文件标题在这里:
所以,在ChatGPT中输入提示词如下:
你是一个Python编程专家,要完成一个批量下载网页的任务,具体步骤如下:
在本地电脑D盘新建一个文件夹:lexfridman-podtext;
打开网页https://lexfridman.com/podcast/,解析网页源代码;
提取网页源代码中所有标签的内容;
如果标签的内容为“Transcript”,就提取标签的href属性值,作为网页下载地址;
然后解析这个网页源代码,提取其
下载这个网页,保存到文件夹lexfridman-podtext;
注意:
每一步都要输出相关信息;
ChatGPT生成源代码如下:
import os
import requests
from bs4 import BeautifulSoup
# 函数用于清理文件名中的非法字符
def clean_filename(filename):
return filename.replace(‘:’, ‘-‘).replace(‘|’, ‘-‘)
# 在D盘新建文件夹
folder_path = “D:lexfridman-podtext”
if not os.path.exists(folder_path):
os.makedirs(folder_path)
print(f”新建文件夹:{folder_path}”)
# 打开并解析网页
source_url = “https://lexfridman.com/podcast/“
print(f”打开并解析网页:{source_url}”)
response = requests.get(source_url)
soup = BeautifulSoup(response.text, ‘html.parser’)
# 提取所有标签
a_tags = soup.find_all(‘a’)
# 遍历标签,找出内容为“Transcript”的
for a_tag in a_tags:
if a_tag.text == “Transcript”:
# 提取标签的href属性值
href = a_tag[‘href’]
print(f”找到Transcript网页地址:{href}”)
# 打开并解析Transcript网页
transcript_response = requests.get(href)
transcript_soup = BeautifulSoup(服务器托管网transcript_response.text, ‘html.parser’)
# 提取
title_tag = transcript_soup.find(‘title’)
if title_tag:
title = clean_filename(title_tag.text)
print(f”找到Transcript网页标题:{title}”)
# 下载网页并保存到文件
filename = os.path.join(folder_path, title + “.html”)
with open(filename, ‘w’, encoding=’utf-8′) as f:
f.write(transcript_response.text)
print(f”网页已保存到:{filename}”)
运行程序,全部网页下载保存到本地:
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
1.本次文章主要介绍如何使用Nacos作为项目的配置中心。 研发环境如下: SpringCloud、SpringBoot和spring-cloud-alibaba本版如下 spring-cloud:2021.0.6 spring-cloud-alibaba: …