基于ChatGPT等大模型快速爬虫提取网页内容

本文将介绍一种基于ChatGPT等大模型快速爬虫提取网页内容的方法。传统的爬虫方法需要花费较大精力分析页面的html元素,而这种方法只需要两步就可以完成。下面将从使用步骤、方法扩展和示例程序三部分进行介绍。RdFast智能创作机器人小程序预计本周2023-11-30之前集成该功能,实现智能编辑功能。大家可以体验一下。

1 使用步骤

第一步:提取网页中的全部文本内容

为了获取网页中的全部文本内容,我们使用了requests、html2text和urllib.request这三个库。首先尝试使用requests库获取网页的文本内容,如果失败则使用urllib.request库。获取到文本内容后,我们再使用html2text库将其转换成纯文本格式。最后对文本进行简单处理,去除空格和换行符。

第二步:使用ChatGPT等大模型进行文本提取

我们使用了OpenAI的ChatGPT等大模型来进行文本提取。将提取出来的文本内容和自定义提取规则作为ChatGPT的prompt输入,然后获取提取结果。这种方法的好处是不需要像传统爬虫方法一样,花费较大精力分析页面的html元素。

这种方法可以大大减少爬虫的时间和精力,提高了效率。对于需要频繁进行网页内容提取的场景,这种方法非常实用。

2 方法扩展

这种基于ChatGPT等大模型的快速爬虫提取网页内容的方法可以进一步扩展,以支持处理更多的提取规则和丰富的内容类型。具体扩展包括但不限于以下几个方面:

(1)提取标题和摘要:除了提取全部文本内容外,可以扩展ChatGPT模型,使其能够识别并提取网页的标题和摘要信息。通过对标题和摘要进行提取和分析,可以更直观地获取网页的核心信息,帮助用户快速了解页面内容。

(2)处理HTML规则:在文本提取过程中,可以借助ChatGPT模型对HTML标签和元素进行识别和处理。例如,识别和提取特定HTML标签内的内容,或者处理包含特定类别或ID属性的HTML元素。这样可以更精确地提取出用户感兴趣的内容部分,而不是仅仅提取整个页面的文本。

(3)自动正则表达式生成:可以考虑让ChatGPT模型学习如何生成适用于当前网页的正则表达式。通过对已提取文本内容的分析,模型可以学习生成适用于当前网页结构的正则表达式规则,从而实现自动化的正则表达式生成和应用。

(4)多模态内容提取:除了文本内容外,现代网页通常还包含图片、视频等多媒体内容。可以扩展ChatGPT模型,使其能够处理多模态内容提取,例如识别网页中的主要图片或视频,并提取相关的描述性信息。

(5)自定义提取规则学习:通过引入强化学习或迁移学习技术,可以让ChatGPT模型学习用户的自定义提取规则,并根据用户反馈不断优化提取效果。这样可以实现个性化的网页内容提取,满足用户特定需求。

通过以上扩展,基于ChatGPT等大模型的快速爬虫提取网页内容的方法可以更加灵活和智能,能够处理更多类型的内容和提取规则,从而满足不同用户和应用场景的需求。

3 示例程序和效果

代码示例:

python 复制代码
# 基于ChatGPT等大模型快速爬虫提取网页内容
# 主要分为两步:
# 第一步:提取网页中的全部文本内容
# 第二步:将提取结果与自定义提取规则作为ChatGPT的prompt,输入给ChatGPT,获取提取结果
# 这种方法的好处是不需要像传统爬虫方法一样,花费较大精力分析页面的html元素。


import openai
import requests
import html2text
import urllib.request

# ChatGPT等大模型结果反馈结果,可以自行补充
def gpt_reply(prompt):
  return response

# 根据链接网址获取网页文本内容
def get_linktext(url):
    flag = False
    html_content = ''
    try:
        response = requests.get(url)
        html_content = response.text
    except:pass
    if len(html_content) < 1:
        try:
            response = urllib.request.urlopen(url)
            html_content = response.read().decode('utf-8')
        except:pass
    try:
        if len(html_content) > 0:
            html_content = html2text.html2text(html_content)
    except:pass
    html_content = html_content.strip()
    if len(html_content) > 0:
        flag = True
    return flag, html_content

if __name__ == '__main__':
    url = 'https://mp.weixin.qq.com/s/5OUbElScuVQfvj_9Y4JfyA'
    flag, text = get_linktext(url)
    prompt = text + '\n\n' + '请提取文章标题。'
    response = gpt_reply(prompt)
    print('处理结果如下:')
    print(response)

以上介绍的基于ChatGPT等大模型的快速爬虫提取网页内容的方法展现了一种新颖且高效的方式,可以大大减少传统爬虫方法中对html元素分析的繁琐工作,提高爬虫效率和灵活性。该方法还具有很强的扩展性,可以通过引入更多的提取规则和处理多媒体内容来满足不同的用户需求。

希望本文能够为读者带来启发,并对未来的研究和实践有所帮助。

相关推荐
拖拖7656 分钟前
从“死”文档到“活”助手:Paper2Agent 如何将科研论文一键转化为可执行 AI
人工智能
攻城狮7号8 分钟前
告别显存焦虑:阿里开源 Z-Image 如何用 6B 参数立足AI 绘画时代
人工智能·ai 绘画·qwen-image·z-image-turbo·阿里开源模型
Christo39 分钟前
ICML-2019《Optimal Transport for structured data with application on graphs》
人工智能·算法·机器学习·数据挖掘
vx_vxbs6610 分钟前
【SSM高校普法系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
android·java·python·mysql·小程序·php·idea
阿杰学AI13 分钟前
AI核心知识24——大语言模型之AI 幻觉(简洁且通俗易懂版)
人工智能·ai·语言模型·aigc·hallucination·ai幻觉
AI_567814 分钟前
AI知识库如何重塑服务体验
大数据·人工智能
公众号-架构师汤师爷18 分钟前
n8n工作流实战:让DeepSeek一键拆解100篇公众号爆文,扒得底裤都不剩(建议收藏)
人工智能·智能体·n8n
田里的水稻21 分钟前
Python_编程中代码注释相关格式 PEP8 — Python 官方代码风格指南
开发语言·python
一只乔哇噻23 分钟前
java后端工程师+AI大模型进修ing(研一版‖day57)
java·开发语言·人工智能·算法·语言模型
张较瘦_24 分钟前
[论文阅读] AI + 编码 | Agint:让LLM编码代理告别“混乱”,用图编译打通自然语言到可执行代码的任督二脉
论文阅读·人工智能