AI网络爬虫:用kimi提取网页中的表格内容

一个网页中有一个很长的表格,要提取其全部内容,还有表格中的所有URL网址。

在kimi中输入提示词:

你是一个Python编程专家,要完成一个编写爬取网页表格内容的Python脚步的任务,具体步骤如下:

在F盘新建一个Excel文件:freeAPI.xlsx

打开网页https://github.com/public-apis/public-apis;

定位table标签;

在table标签内容定位tbody标签;

在tbody标签内定位tr标签;

在tr标签内容定位第1个td标签,提取其文本内容,保存到表格文件freeAPI.xlsx的第1行第1列;

在tr标签内容定位第1个td标签里面的a标签,提取其href属性值,保存到表格文件freeAPI.xlsx的第1行第6列;

在tr标签内容定位第2个td标签,提取其文本内容,保存到表格文件freeAPI.xlsx的第1行第2列;

在tr标签内容定位第3个td标签,提取其文本内容,保存到表格文件freeAPI.xlsx的第1行第3列;

在tr标签内容定位第4个td标签,提取其文本内容,保存到表格文件freeAPI.xlsx的第1行第4列;

在tr标签内容定位第5个td标签,提取其文本内容,保存到表格文件freeAPI.xlsx的第1行第5列;

循环执行以上步骤,直到所有table标签里面内容都提取完;

注意:

每一步相关信息都要输出到屏幕上

源代码:

import requests

from bs4 import BeautifulSoup

import pandas as pd

# 网页URL

url = 'https://github.com/public-apis/public-apis'

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

response = requests.get(url)

web_content = response.text

# 使用BeautifulSoup解析网页

soup = BeautifulSoup(web_content, 'html.parser')

# 定位所有的table标签

tables = soup.find_all('table')

# 检查F盘是否存在freeAPI.xlsx文件,如果不存在则创建

excel_path = 'F:/freeAPI.xlsx'

df_list = [] # 用于存储DataFrame的列表

for table in tables:

# 定位tbody标签

tbody = table.find('tbody')

if tbody:

# 在tbody标签内定位所有的tr标签

rows = tbody.find_all('tr')

for row in rows:

# 在每个tr标签内定位所有的td标签

data = row.find_all('td')

if len(data) >= 5:

# 提取文本内容

extracted_data = [cell.get_text(strip=True) for cell in data[:5]]

# 将提取的数据存储为DataFrame

df = pd.DataFrame([extracted_data], columns=['Column1', 'Column2', 'Column3', 'Column4', 'Column5'])

# 将DataFrame添加到列表中

df_list.append(df)

# 输出相关信息到屏幕

print(f"Extracted data from row: {extracted_data}")

# 将列表中的所有DataFrame合并为一个DataFrame

if df_list:

combined_df = pd.concat(df_list, ignore_index=True)

# 将合并后的DataFrame写入Excel文件

combined_df.to_excel(excel_path, index=False)

print(f"Data has been successfully written to {excel_path}")

else:

print("No data found to write to Excel.")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1424860.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

三.使用HashiCorp Vault工具管理数据库

三.ubuntu安装使用HashiCorp Vault工具管理数据库 HashiCorp Vault 是一个基于身份的秘密和加密管理系统。机密是您想要严格控制访问的任何内容,例如 API 加密密钥、密码和证书。Vault 提供由身份验证和授权方法门控的加密服务。使用 Vault 的 UI、CLI 或 HTTP API,可以安全…

SAP_ABAP-思考篇

作为一个SAP十年左右的从业者,其实我很清楚,我自身的能力,确实是很多东西都会一点,但是没有一样是精通的。坦白来说,我的个人简介里,虽然也不算夸大,但我估计有些新手小白看着可能会觉得还挺厉害…

VS2022如何添加现有项

以 想在队列里,使用堆栈的.c,.h文件 为例 目录 1.复制堆栈的.c,.h文件 ​编辑 2.打开队列所在项目的文件夹 3.粘贴堆栈的.c,.h文件 4.在头文件和源文件添加相应的堆栈的.c,.h文件 1.复制堆栈的.c,.h文件…

【智能算法】清道夫优化算法(CFO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年,W Zhang受到清道夫自然行为启发,提出了清道夫优化算法(Cleaner Fish Optimization Algorithm, CFO)。 2.算法原理 2.1算法思想 CF…

git常用命令及其ignore文件

1.git本地操作命令 # 查看git的版本 git --version # 生成空的本地仓库 git init # 将文件添加到暂存区 git add 文件 # 将暂存区里的文件提交到本地仓库 git commit -m "描述"2.git远程仓库命令 # 添加远程仓库 git remote add origin http://192.168.1.130:9000/…

开源的图形化Windows软件安装升级方案:WingetUI

WingetUI:简化数字生活,WingetUI让软件管理轻松便捷- 精选真开源,释放新价值。 概览 WingetUI是在GitHub上开发的一个实用工具,专为Windows用户设计,旨在为常见的命令行包管理工具(如Winget、Scoop、Pip、…

AI图书推荐:ChatGPT 和Power BI驱动未来金融投资变革

《ChatGPT 和Power BI驱动未来金融变革》(The Future of Finance with ChatGPT and Power BI)由James Bryant和Aloke Mukherjee撰写,探讨了ChatGPT和Power BI在金融领域的应用。 主要特点: - 使用ChatGPT自动化Power BI&#xff…

基于振幅跟踪技术监测Inylchek冰川(吉尔吉斯斯坦)的冰流表面速度

冰川是重要的淡水资源,Inylchek冰川是世界上最长的冰川之一,60km长,有南北两个分支,海拔3000-4000米,最小坡度2。 2007年8月24日的Landsat5数据上的Inylchek冰川 为了监测冰川的运动,本研究获取了高重访周…

代码随想录算法训练营第五十四天

第二题我看了很久还是没太明白,我发现理解动规有一点点吃力了啊,努努力。 392.判断子序列 总感觉在不等于的时候,应该是dp[i][j] dp[i-1][j-2]; 这里其实按他那个图会更好理解一点。 class Solution { public:bool isSubsequence(string s, …

C++ I/O流(一)——输出流

一、IO流概念 IO流可分为输入流和输出流,用于从设备(如键盘、文件、网络等)读取数据或向设备写入数据。C++标准库提供了丰富的IO流类,包括iostream、fstream、stringstream等,分别用于处理控制台输入输出、文件输入输出和字符串流操作。 读操作:输入流中读取数据到程序中…

代码随想录--链表--反转链表

题目 题意:反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路 如果再定义一个新的链表,实现链表元素的反转,其实这是对内存空间的浪费。 其实只需要改变链表的next指针的…

蓝桥杯 EDA 组 历届国赛真题解析

一、2021年国赛真题 1.1 CN3767 太阳能充电电路 CN3767 是具有太阳能电池最大功率点跟踪功能的 4A,12V 铅酸电池充电管理集成电路。 最大功率点应指的是电池板的输出电压,跟踪电压其做保护。当然 CN3767 也可以直接使用直流充电,具体可以阅读…

API数据对接:本地缓存与日志记录的重要性

关键词:数据治理项目、API接口、数据中心、第三方系统、数据异常、本地缓存、日志记录、数据整合、多源异构数据、数据处理效率 阅读建议: 对于数据治理、API接口和系统集成领域的专业人士,本文深入剖析了本地缓存和日志记录在确保系统稳定性…

文档分类FastText模型 (pytorch实现)

文档分类FastText FastText简介层次softmaxN-gram特征FastText代码(文档分类) FastText简介 FastText与之前介绍过的CBOW架构相似,我们先来会议一下CBOW架构,如下图: CBOW的任务是通过上下文去预测中间的词&#xff0…

Python——IO编程

IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。 比如你打开浏览器,访问新浪…

算法练习第22天|39. 组合总和、40.组合总和II

39. 组合总和 39. 组合总和 - 力扣(LeetCode)https://leetcode.cn/problems/combination-sum/description/ 题目描述: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数…

宝塔助手是以宝塔Linux面板提供的API开发的一款可以随时随地管理服务器的APP

【软件介绍】手机操控云服务器的神器软件,本人亲测在用,好用极了! 【软件名称】宝塔助手 【软件包名】com.lensyn.zsbt 【软件版本】1.4.1 【软件大小】29.00M 【适用系统】安卓 【软件特色】宝塔助手是以宝塔Linux面板提供的API开发的一款可…

Unity 2021 升级至团结引擎

UnityWebRequest 报错 InvalidOperationException: Insecure connection not allowed 解决方法 不兼容jdk 8 需要安装 JDK11 64bit 必须JDK 11,高版本也不行 安卓环境hub 未给我安装完全。 Data\PlaybackEngines\AndroidPlayer 并没有NDK,SDK。但是 HUB 显示已经…

其实解决问题的方法很简单

大家好!我是编码小哥,欢迎关注,持续分享更多实用的编程经验和开发技巧,共同进步! 本例是一个动态数组的例子,实现数据的增加、删除、根据索引修改数值、获取数值。 dynamic_array.c #include "dy…

月薪3万,沉迷“薅羊毛”

在网购江湖中,蟹老板是一位拥有十年经验的资深“羊毛党”。 他不仅是位精明的数学家,更是一位高效的“生产线”工人,专注于各大网购平台的优惠机制。每逢618大促,他总能凭借超凡的洞察力和手速,轻松斩获丰厚的“羊毛”…