前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >零代码编程:用ChatGPT批量下载网站中的特定网页内容

零代码编程:用ChatGPT批量下载网站中的特定网页内容

作者头像
AIGC部落
发布2024-06-24 15:13:16
1070
发布2024-06-24 15:13:16
举报
文章被收录于专栏:Dance with GenAI

http://blog.umd.edu/davidkass这个网站上有伯克希尔股东大会的一些文字稿,其标题如下:

Notes From the Berkshire Hathaway 2020 Annual Meeting – May 2, 2020

Notes From the Berkshire Hathaway 2021 Annual Meeting – May 1, 2021

在右边的搜索框输入关键词:Notes From Berkshire Hathaway

可以看到网站所有的股东大会文字稿,总共两页

第一页网址是:https://blog.umd.edu/davidkass/?s=Notes+From+Berkshire+Hathaway

第二页是:https://blog.umd.edu/davidkass/page/2/?s=Notes+From+Berkshire+Hathaway

每个网页的元素源代码如下:

<a href="https://blog.umd.edu/davidkass/2022/05/25/notes-from-berkshire-hathaway-2022-annual-meeting-april-30-2022/" rel="bookmark">Notes From Berkshire Hathaway 2022 Annual Meeting – April 30, 2022</a>

要把这两页中所有的网页内容下载下来,可以在ChatGPT中输入提示词:

你是一个Python编程专家,要完成一个批量下载网页的任务,具体步骤如下:

打开网站:

https://blog.umd.edu/davidkass/page/【pagenumber】/?s=Notes+From+Berkshire+Hathaway

其中,pagenumber参数的值是从1到2;

定位所有rel="bookmark"的a元素;

提取a元素的内容作为网页文件名;

提取a元素的href作为网页下载地址:

下载网页内容,保存到电脑E盘;

注意:每一步都要输出相关信息

具体的Python代码如下:

import requests

from bs4 import BeautifulSoup

import os

# 设置保存网页的文件夹路径

output_folder = 'E:/web_pages'

# 确保文件夹存在,如果不存在则创建它

os.makedirs(output_folder, exist_ok=True)

# 循环遍历页码范围(1到2)

for page_number in range(1, 3):

# 构建网页URL

url = f'https://blog.umd.edu/davidkass/page/{page_number}/?s=Notes+From+Berkshire+Hathaway'

# 发送HTTP请求并获取网页内容

response = requests.get(url)

if response.status_code == 200:

print(f'正在下载第 {page_number} 页...')

# 使用BeautifulSoup解析网页内容

soup = BeautifulSoup(response.text, 'html.parser')

# 定位所有rel="bookmark"的a元素

bookmark_links = soup.find_all('a', rel='bookmark')

# 循环处理每个a元素

for link in bookmark_links:

# 提取文件名

file_name = link.text.strip()

# 提取下载地址

download_url = link['href']

# 发送HTTP请求并保存网页内容

page_response = requests.get(download_url)

if page_response.status_code == 200:

# 构建保存路径

save_path = os.path.join(output_folder, f'{file_name}.html')

# 保存网页内容到文件

with open(save_path, 'wb') as file:

file.write(page_response.content)

print(f'已下载:{file_name}.html')

else:

print(f'无法访问网页:{url}')

print('任务完成!')

运行程序,全部下载完成:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Dance with GenAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档