当前位置: 首页 > news >正文

人生苦短,我用 Python,AI 模型助力高效数据提取

一、前言

在网络爬虫和数据挖掘领域,提取网页内容是一项常见且重要的任务。无论是从新闻网站、电商平台还是社交媒体,获取有用的信息都是开展后续分析和应用的前提。然而,传统的网页内容提取需要编写大量的代码来处理和解析 HTML 文档,费时费力且容易出错。幸运的是,随着人工智能技术的发展,我们可以借助 AI 模型来简化这一过程。

在本文中,我将分享如何利用 Python 中的 requests 库和 beautifulsoup4 库从网页中提取电影信息,并利用 AI 模型生成相应的提示信息的实践经验。AI 模型在其中的重要性不言而喻,它能够自动识别并生成文本,帮助我们节省大量的时间和精力。

首先,我们将使用 requests 库发送 HTTP 请求获取网页内容,然后利用 beautifulsoup4 库解析 HTML 文档,提取所需的电影信息。接着,我们将使用 dashscope 包与 AI 模型进行交互,让模型为我们生成电影信息的提示。通过这个实例,你将了解到如何利用 Python 中强大的工具和现成的 AI 模型,轻松实现网页内容的提取与处理。

二、准备工作

1. 获取API-KEY

阿里云的模型服务灵积DashScope免费获取一个API-KEY去免费使用大模型,步骤如下:

链接:[dashscope.aliyun.com/] ,需要注册登入。

点击立即开通

image.png

c9942beab740e738e11b39b4773db18.png

模型API调用里第二个创建API-KEY

image.png

创建新的 API-KEY

image.png 创建后,会跳出来一个框框,里面有串代码,复制完保存到你找的到的地方,后面需要使用到。

2. 会简单使用colab平台

链接:colab.research.google.com/ ,需要谷歌账号

好处:写python代码时能够很轻松的安装一些复杂的库,就一串代码就能搞定。

image.png

创建好后就可以开始写代码了

三、代码

每一段代码都需运行

1. 第一段代码:
# python http请求库
!pip install requests
# python dom 查找
!pip install beautifulsoup4
  1. 直接安装了 Python 中用于发送 HTTP 请求的 requests 库。
  2. 直接安装了 Python 中用于解析 HTML 文档的 beautifulsoup4 库。(这就是colab的一个好处,速度还快

这两个库的安装是为了后续的网络爬虫程序,requests 库用于发送 HTTP 请求获取网页内容,beautifulsoup4 库用于解析 HTML 文档,提取所需信息。安装这两个库后,你可以在代码中导入它们并使用它们的功能。

image.png

2. 第二段代码:
# 引入请求库 模块化为复用,封装而来
# 函数级化 类 文件 架构
import requests # node require
from bs4 import BeautifulSoupdef fetch_movie_list(url):# 设置HTTP 请求头headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36'}# js有什么区别 js是异步 Python是同步response = requests.get(url, headers=headers)# 状态码 成功if response.status_code == 200:# 内存中的dom对象soup = BeautifulSoup(response.text, 'html.parser')movie_list = []movies = soup.select('#wrapper #content .article .item')# python 不是完全面向对象的,而更年轻的js 是完全面向对象# 2.3123.foFixed(2)   '123'.length# 突兀# print(len(movies))# 字符串# 人生苦短 我用python 突出简洁all_movies_text = ''.join([movie.prettify() for movie in movies[:2]])# print(all_movies_text)return all_movies_textelse:print("Failed to retrieve content")url = 'https://movie.douban.com/chart'
movies = fetch_movie_list(url)
print(movies)

功能:这段代码实现了一个函数 fetch_movie_list(url),用于从豆瓣电影排行榜页面获取电影信息,并返回前两部电影的 HTML 内容。

代码解析

  1. 导入了 requestsBeautifulSoup 库,用于发送 HTTP 请求和解析 HTML 页面。
  2. 定义了 fetch_movie_list(url) 函数,接收一个参数 url,表示要获取电影信息的页面链接。
  3. 设置了 HTTP 请求头,模拟了浏览器发送请求的行为,避免被目标网站识别为爬虫并阻止访问。
  4. 使用 requests.get() 方法发送 GET 请求,获取页面的 HTML 内容。
  5. 检查响应的状态码,如果状态码为 200,则表示请求成功,继续执行后续操作;否则打印出错信息。
  6. 使用 BeautifulSoup 解析 HTML 内容,将其转换为 BeautifulSoup 对象,方便后续操作。
  7. 使用 CSS 选择器 soup.select() 提取页面中的电影信息,将其存储在 movies 列表中。
  8. 遍历前两部电影的信息,使用 prettify() 方法美化 HTML 代码,并将其拼接成一个字符串 all_movies_text
  9. 最后返回前两部电影的 HTML 内容。

最后,通过调用 fetch_movie_list(url) 函数,传入豆瓣电影排行榜的链接,获取电影信息的 HTML 内容,并打印输出。

补充:js和python

# js有什么区别 js是异步 Python是同步response = requests.get(url, headers=headers)

与 JavaScript 不同,Python 中的 requests 库发送的 HTTP 请求是同步的,意味着代码会等待请求完成后才会继续执行后续的操作。这与 JavaScript 中的异步操作不同,JavaScript 中的网络请求通常是异步的,意味着代码会继续执行,而不会等待请求完成。

异步操作使得 JavaScript 在执行网络请求时不会阻塞其他操作,可以在等待网络请求完成的同时继续执行其他代码。这对于 Web 开发来说非常重要,因为可以在不阻塞用户界面的情况下加载数据和执行其他操作。

# python 不是完全面向对象的,而更年轻的js 是完全面向对象# 2.3123.foFixed(2)   '123'.length# 突兀
  • Python 不是完全面向对象的,而更年轻的 JavaScript 则是完全面向对象的。
  • 在 JavaScript 中,几乎所有的事物都是对象,甚至基本的数据类型也是对象。
  • 例如,使用 ‘123’.length 获取字符串的长度,或者使用 2.3123.toFixed(2) 来保留数字的小数位数。 而在 Python 中,基本数据类型不是对象,不能直接调用方法和属性。
  • 这使得在 Python 中使用一些方法和属性显得有些突兀,比如在数字上使用 round() 函数来保留小数位数:
3. 第三段代码
# AIGC LLM + Prompt(指令)
# es6 `` 字符串模版
# python
prompt = f"""
{movies}
这是一段电影列表html, 请获取电影名(name),封面链接(pricture),简介(info), 评分(score), 评论人数(commentsNumber),请使用括号的单词作为属性名,以JSON数组的格式返回
"""
print(prompt)

代码解释: 这段代码定义了一个字符串 prompt,其中包含了电影列表的 HTML 内容,并且为之后与ai交互提供了一个说明,要求从 HTML 中提取电影名、封面链接、简介、评分和评论人数,并以 JSON 数组的格式返回,属性名使用括号括起来。

在字符串模板中,{movies} 是一个占位符,用于插入电影列表的 HTML 内容。

最后,通过 print(prompt) 打印输出 prompt 字符串,以展示提取电影信息的具体要求。

4. 第四段代码
!pip install dashscope

!pip install dashscope 是一个命令,用于在 Colab 环境中安装名为 dashscope 的 Python 包。dashscope 是一个用于与 AI 模型进行交互的 Python 包,它提供了一个简单的接口,可以将文本传递给 AI 模型,并获取模型生成的文本。

import dashscope
dashscope.api_key = '你的API-KEY'def call_qwen_with_prompt():messages = [{'role': 'user','content': prompt}]response = dashscope.Generation.call(dashscope.Generation.Models.qwen_turbo,messages=messages,result_messages='message')print(response)
call_qwen_with_prompt()

代码解析

  1. 导入了 dashscope 包,用于与 AI 模型进行交互。
  2. 设置了 dashscope 的 API 密钥,以便进行身份验证和使用 dashscope 服务。
  3. 定义了一个函数 call_qwen_with_prompt(),用于调用 qwen_turbo 模型并生成电影信息的提示信息。
  4. 准备了要发送给模型的消息,消息中包含了 prompt 变量中定义的电影信息的提示。
  5. 使用 dashscope.Generation.call() 方法调用 qwen_turbo 模型,并传递消息作为输入。
  6. 将生成的文本结果打印输出。

总之,这段代码利用 dashscope 包与 AI 模型进行交互,通过给定的提示信息,让 AI 模型生成电影信息的提示。

结果

image.png 显示200就表示运行成功了,400就是运行错误

运行成功后,你就可以看到你的输出结果了。

四、结语

通过本文的实践,我们深入探索了如何利用 Python 和 AI 模型从网页中提取信息。借助 requests 库和 beautifulsoup4 库,我们可以轻松地获取网页内容,并从中提取所需的数据。而使用 AI 模型,我们不仅能够自动化生成相关的提示信息,还能提高提取数据的效率和准确性。

在今天信息爆炸的时代,获取和处理海量数据是一项具有挑战性的任务。然而,Python 的简洁、强大和灵活性,以及 AI 模型的智能化处理能力,为我们提供了强大的工具和支持,使我们能够更加高效地处理和分析数据,从而更好地服务于我们的需求和目标。

在未来,随着人工智能技术的不断发展和普及,我们相信,Python 和 AI 模型将在数据处理和分析领域发挥越来越重要的作用,为我们带来更多的便利和可能性。

让我们继续学习和探索,利用最新的技术和工具,不断提升自己的能力和竞争力,更好地应对未来的挑战和机遇!

在这里插入图片描述

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C# 中读取byte[]转化成数字
  • 【网络】网络编程套接字(二)
  • 基于C#调用文心一言大模型制作桌面软件(可改装接口)
  • HarmonyOS鸿蒙开发学习:鸿蒙基础-基础环境-ArkTS-组件-样式
  • C++ exe程序内存占用分析之Linux篇
  • Java 设计模式之策略模式 (Strategy Pattern) 详解
  • 【C语言篇】猜数字游戏(赋源码)
  • js如何判断一个数在某一个等差区间之内
  • Mojo AI编程语言(十七)跨平台开发:应用广泛适配
  • 香橙派下搭建目标检测的开发环境
  • 数字万用表怎么做仪器校准?不准怎么调?
  • PyTorch安装
  • JetBrains:XML tag has empty body警告
  • Go 语言中切片的访问
  • 第十四节:Vben Admin实战-系统管理之角色菜单绑定
  • 自己简单写的 事件订阅机制
  • 《深入 React 技术栈》
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【React系列】如何构建React应用程序
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • egg(89)--egg之redis的发布和订阅
  • HTML-表单
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Laravel Telescope:优雅的应用调试工具
  • magento 货币换算
  • sessionStorage和localStorage
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • vue 配置sass、scss全局变量
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 解决iview多表头动态更改列元素发生的错误
  • 入口文件开始,分析Vue源码实现
  • 物联网链路协议
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 译有关态射的一切
  • 由插件封装引出的一丢丢思考
  • Nginx实现动静分离
  • # Maven错误Error executing Maven
  • #define、const、typedef的差别
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (55)MOS管专题--->(10)MOS管的封装
  • (C#)获取字符编码的类
  • (LeetCode C++)盛最多水的容器
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (论文阅读11/100)Fast R-CNN
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (原)本想说脏话,奈何已放下