AI爬取网页表格内容保存为excel

向量数据库云通信数据安全

任务:网页上的表格内容下载保存为excel表格

picture.image

在deepseek中输入提示词:

你是一个Python编程专家,写一个网页爬取的脚本,完成任务如下:

在F盘新建一个excel表格文件:Amplifypartnersportfolio.xlsx

打开网页:https://www.amplifypartners.com/portfolio,

定位所有的role="listitem"的div元素,在div元素中定位class="mob-name"的div标签,提取其内容,写入excel表格的第1列;

定位class="copy-wr"的div标签,提取其中

标签的文本内容,写入excel表格的第2列;

定位fs-cmsfilter-field="status"的div标签,提取其内容,写入excel表格的第3列;

定位class="mob-link"的div标签,提取其内容,写入excel表格的第4列;

定位第1个class="flex-vertical gap-4"的div标签, 找到所有的

标签, 提取每个

标签中的文本内容,过滤掉不需要的文本:“TEAM”和空字符串,然后写入excel表格的第5列;

定位第2个class="flex-vertical gap-4"的div标签, 找到所有的

标签, 提取每个

标签中的文本内容,过滤掉不需要的文本:“Milestones”和空字符串,然后写入excel表格的第6列;

定位第3个class="flex-vertical gap-4"的div标签, 找到所有的

标签, 提取每个

标签中的文本内容,过滤掉不需要的文本:“Articles”和空字符串,然后写入excel表格的第6列;

注意:每一步都要输出信息到屏幕上

Deepseek给出的Python源代码:

import requests

from bs4 import BeautifulSoup

import openpyxl

创建一个新的Excel工作簿

workbook = openpyxl.Workbook()

sheet = workbook.active

sheet.title = "Amplify Partners Portfolio"

设置表头

sheet['A1'] = 'Name'

sheet['B1'] = 'Location'

sheet['C1'] = 'Status'

sheet['D1'] = 'Link'

sheet['E1'] = 'Team'

sheet['F1'] = 'Milestones'

sheet['G1'] = 'Articles'

获取网页内容

url = 'https://www.amplifypartners.com/portfolio'

response = requests.get(url)

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

定位所有的role="listitem"的div元素

list_items = soup.find_all('div', role='listitem')

row = 2 # 从第二行开始写入数据

for item in list_items:

try:

提取class="mob-name"的div标签内容

name_div = item.find('div', class_='mob-name')

name = name_div.text.strip() if name_div else ''

print(f"Extracted Name: {name}")

sheet[f'A{row}'] = name

提取class="copy-wr"的div标签中

标签的文本内容

location_div = item.find('div', class_='copy-wr')

location = location_div.find('p').text.strip() if location_div and location_div.find('p') else ''

print(f"Extracted Location: {location}")

sheet[f'B{row}'] = location

提取fs-cmsfilter-field="status"的div标签内容

status_div = item.find('div', {'fs-cmsfilter-field': 'status'})

status = status_div.text.strip() if status_div else ''

print(f"Extracted Status: {status}")

sheet[f'C{row}'] = status

提取class="mob-link"的div标签内容

link_div = item.find('div', class_='mob-link')

link = link_div.text.strip() if link_div else ''

print(f"Extracted Link: {link}")

sheet[f'D{row}'] = link

定位第1个class="flex-vertical gap-4"的div标签

team_div = item.find('div', class_='flex-vertical gap-4')

if team_div:

team_members = [p.text.strip() for p in team_div.find_all('p') if p.text.strip() not in ['TEAM', '']]

team_str = ', '.join(team_members)

print(f"Extracted Team: {team_str}")

sheet[f'E{row}'] = team_str

定位第2个class="flex-vertical gap-4"的div标签

milestones_div = item.find_all('div', class_='flex-vertical gap-4')[1] if len(item.find_all('div', class_='flex-vertical gap-4')) > 1 else None

if milestones_div:

milestones = [p.text.strip() for p in milestones_div.find_all('p') if p.text.strip() not in ['Milestones', '']]

milestones_str = ', '.join(milestones)

print(f"Extracted Milestones: {milestones_str}")

sheet[f'F{row}'] = milestones_str

定位第3个class="flex-vertical gap-4"的div标签

articles_div = item.find_all('div', class_='flex-vertical gap-4')[2] if len(item.find_all('div', class_='flex-vertical gap-4')) > 2 else None

if articles_div:

articles = [p.text.strip() for p in articles_div.find_all('p') if p.text.strip() not in ['Articles', '']]

articles_str = ', '.join(articles)

print(f"Extracted Articles: {articles_str}")

sheet[f'G{row}'] = articles_str

row += 1

except Exception as e:

print(f"Error processing item: {e}")

保存Excel文件

workbook.save('F:/Amplifypartnersportfolio.xlsx')

print("Data saved to Amplifypartnersportfolio.xlsx")

创建Excel工作簿: 使用 openpyxl 创建一个新的Excel工作簿,并设置表头。

获取网页内容: 使用 requests 库获取网页内容,并使用 BeautifulSoup 解析HTML。

定位和提取数据: 使用 BeautifulSoup 的 find 和 find_all 方法定位和提取所需的数据。

写入Excel: 将提取的数据写入Excel表格的相应列。

保存Excel文件: 将工作簿保存到指定路径。

运行此脚本后,你将在F盘根目录下找到 Amplifypartnersportfolio.xlsx 文件,其中包含提取的数据。

picture.image

爬取成功:

picture.image

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
高性能存储虚拟化方案 NVMe over Fabric 在火山引擎的演进
在云计算中,虚拟化存储扮演着重要角色,其中 iSCSI 协议在业界开放、流行多年。近年来,拥有更优性能的 NVMe over Fabrics 协议也得到了发展。本次分享介绍了 NVMe over Fabrics 在云原生和虚拟化方向的演进工作和成果。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论