王剑编程网

分享专业编程知识与实战技巧

免Python也能网页抓取:用AI自动完成 HTML 解析和数据提取

想象一下这个工具,它可以简化您的网页抓取任务,使 HTML 解析和数据提取不仅易于访问,而且非常简单。不再需要处理复杂的代码,不再需要理清错综复杂的 HTML 字符串。这听起来好得令人难以置信吗?事实并非如此,这要归功于 OpenAI 最新的游戏规则改变者,即其非凡的 AI 模型 ChatGPT 中名为代码解释器的创新功能。

没错,已经令人印象深刻的 ChatGPT 现在又推出了一项新功能,这必将使您作为数据爱好者的生活变得更加顺利。您只需右键单击将网站保存为 HTML,通过拖动上传该 HTML 文件,然后要求代码解释器解析它并为您完成繁重的工作。哦,我有没有提到它集成了 BeautifulSoup 包?伙计们,我们在这里谈论的是更高水平的简单性和效率!

因此,如果您准备好将您的网络抓取技能提升到新的高度,请加入我的chatGPT自动化小组,将通过 ChatGPT 的代码解释器深入研究 HTML 解析和数据提取的奇迹。

现在开始吧!

代码解释器的实际应用

让我们看看代码解释器的实际应用。首先,您需要确保为 ChatGPT 中的新 GPT-4 聊天窗口激活代码解释器:

接下来,使用提示输入字段中的上传功能上传您要从中提取数据的 html 文件:

现在输入您的提示文本,让chatGPT来完成这个任务。

点击提交,让 ChatGPT 和 Code Interpreter 来解决这个任务。您将收到的第一个回复如下:

在这里您可以看到 Code Interpreter 使用 Python 脚本(利用网络抓取库 Beautiful Soup)从 HTML 文件中提取请求的数据。

接下来 Code Interpreter 正在生成生成显示提取数据的 Markdown 表所需的源代码:

执行代码后,ChatGPT 会为您提供前 5 个数据集的示例 Markdown 输出:

以下是chatGPT的代码编写器生成的完整代码:

from bs4 import BeautifulSoup

# Load the HTML file
with open("/mnt/data/answer.html", "r") as f:
    content = f.read()

# Create a BeautifulSoup object
soup = BeautifulSoup(content, 'html.parser')

# Print the first few lines of the parsed HTML content
print(str(soup.prettify())[:1000])
# Find all tables in the HTML
tables = soup.find_all('table')

# Check how many tables are found
len(tables)
import pandas as pd

# Function to parse a HTML table and convert it into a Pandas DataFrame
def html_table_to_df(table):
    # Find all rows in the table
    rows = table.find_all('tr')
    
    # Prepare a list to store the rows data
    data = []
    
    for row in rows:
        # Find all columns in the row
        cols = row.find_all('td')
        
        # Get the text from each column
        cols_text = [col.get_text(strip=True) for col in cols]
        
        # Add the columns data to the rows data list
        data.append(cols_text)
    
    # Convert the list of rows data into a Pandas DataFrame and return it
    return pd.DataFrame(data)

# Convert the first (and only) table into a DataFrame
df = html_table_to_df(tables[0])

# Display the first few rows of the DataFrame
df.head()

结论

亲爱的数据爱好者,我们已经得到了它!全面了解 ChatGPT 的新功能“代码解释器”如何大大简化您的网页抓取任务。HTML 解析和数据提取从未如此简单。手工解析复杂代码或错综复杂的嵌套 HTML 结构的日子已经一去不复返了。现在,您所需要做的就是将网页保存为 HTML,上传,然后让 Code Interpreter 发挥其魔力。

请记住,此功能的美妙之处不仅在于其效率,还在于其所拥有的潜力。通过集成 BeautifulSoup,您进行实体提取和数据解析的机会几乎是无限的。无论您是刚刚涉足网络抓取领域,还是经验丰富的数据管理员,Code Interpreter 都是数据提取工具箱中的宝贵工具。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言