AI交互及爬虫数据分析
AI交互及爬虫【数据分析】
各位大佬好 ,这里是阿川的博客,祝您变得更强
个人
主页
:
大佬的
支持和鼓励
,将是我成长路上
最大的动力
阿川水平有限,如
有错误
,欢迎大佬
指正
Python 初阶
数据清洗前 基本技能
AI交互爬虫前
必看
目录
AI概述
在这个时代 AI 与 我们每个 人 息息相关
1956年 在美国召开了 第一场人工智能研讨会 ,由此人类 开始了 对人工智能道路探索。
在这场 会议上 , 纽维尔 和 西蒙 演示了一个名为"逻辑学家"的 程序 充分展示了 机器能做类似推理 的工作。在这个会议上 人工智能获得了定义 。
1978年 国内 第一所 人工智能与智能控制研究 组在清华大学成立,并且同年招收了第1批硕士生。那时主要以 智能机器人 作为主要研究方向。
1990年 , 智能技术与系统国家重点实验室 正式建立,标志着中国第1次开始正式 开展人工智能相关研究 。
时间发展 至今 ,人工智能已经有 三个阶段 : 第一代 人工智能, 第二代 人工智能, 第三代 人工智能。
从 最初的 第一代人工智能,让 机器像人一样思考 ,培养 从已知知识出发 , 推出新的结论 、 新的知识 的能力。
第二代人工智能 主要基于 人工神经网络模拟人脑脑神经网络的工作原理
但是 第二代人工智能由于所有 训练的数据 均来自客观世界 ,从而它的识别 只能识别 不同的物体,并 不能真正的认识 物体。
第三代人工智能 则是依靠 模型和算法 来支持发展,并在此过程中发展了 一系列人工智能理论 。
而目前市面上的 AI大语言模型 ,则是将第一代人工智能的 知识 为驱动,和第二代人工智能的 数据 以及提炼出的 算法和模型以及算力 同时运用 而成 。
大语言模型的 大 ,来自于 两个"大"
第1个"大"是 大的人工神经网络
人工神经网络可以用来 分类 学习 数据中间 的 关联关系 ,也可以 用来预测 。
第2个"大"是 大的文本
由于第1个大的发展,导致所有文本 不用经过任何预处理 就可以学习,所以文本就由最初的 GB量级 发展为 TB量级 。
大模型的 局限性
缺乏主动性 (依赖于提示工程)且 输出质量不可控 (会出现计算机"幻觉"), 且AI工具尚 不能准确分辨对错 ,也 难以主动 进行 自我迭代 (也需要不断花钱去砸算力)。
但目前人工智能 最大的问题 是:
即 专用人工智能 (在 特定 的领域用 特定 的模型完成 特定 的任务)
而 接下来 人工智能将向 通用人工智能 进行发展
除此以外 ,人工智能 应要具有身体 ,所以说必须 通过机器人与客观世界连在一起
在未来 ,越来越多的人 学习AI是大势所趋 ,而 学习AI的人 要么向各行各业转移,为各行各业 进行赋能 ;要么就 和其他技术结合 ,发展出 新的产业 。
各位,人工智能对各行各业都有重大影响,但 大多数 是 帮助人类提高工作质量和效率 , 而非取代人类进行工作 。(引用中国科学院张钹院士的 )
送上喜欢的一句话:
“让混沌重生,然后掌握混沌”
未来已来 , 不因物喜 , 不以己悲 ,需要的是 坚持不懈的努力 , 天道酬勤
AI在编程领域的应用
解释概念
可用 详细且易懂 的回答,并且尽可能 配合简单的例子 对不懂的概念进行 解释
解决报错
给 报错信息 进行 分析并修正
找Bug
可提交自己写的 代码 及 本身预期
给知识点出题
可让其提出 相应知识点练习 并附上 答案
提示代码质量
提交 自己 代码 并 问如何改进 .
主流AI
目前市面上 主要的AI 有:
( 官网 ,访问需翻墙)
( 官网 ,访问需翻墙)
AI注意事项
使用AI前 可 先给予AI一个身份 帮助更好 提高准确回答质量
与此同时 衍生出 提示工程prompt (一个庞大的领域【截至2024年6月20日,OpenAI、斯坦福等多所机构筛选出1565篇论文发布大模型 】(要翻墙哈,若不想翻墙,也想看,可以联系我) 可以帮助 提高AI回答质量 )
AI幻觉
AI 有些时候会 一本正经的胡说八道 ,应该 有自己的分辨能力 ,所以 学习和掌握分析相关的技能去检验生成AI生成的结果 (例如:可以 将AI生成的Python代码去运行 ,若 成功运行且符合预期则表示成功 )
数据分析领域AI作用及爬虫
前言
在Jupyter notebook中 内置有 专门的
- 可以直接在写代码的环境中 与AI 进行 交互
安装Jupyter AI (Python版本 应高于或等于3.8 )
输入 pip install jupyter_ai
选择AI大模型
安装相应 AI大模型Python库
例如: 安装gpt4all
具体领域
- 什么 具体指标 值得 分析
数据集 哪不干净怎么清洗
数据集 得到什么结论
找数据集
官方网站 可供下载查看的数据集
需查看是否 开启了网页浏览模式
若用 OpenAI ,则先创建 及 和
API ( A pplication P rogramming I nterface 应用程序编程接口 ) 从 官方获取数据
优点 :
更可靠 (因为通常是 官方提供的 )
更合规 ( 爬虫可能违反违规 )
易解析 ( API返回数据 更易解析 API返回的格式 更结构化 )
更准确 (有些 提供的数据 比网页上 更加全面和准确 )
获取 API流程
第一步
确定API端点 ( 不同 功能的 API有特定端点 )
第二步
请求方法 (绝大部分 API是基于HTTP 即要 知道各个端点所对应的HTTP方法 )
GET方法 requests.get
- 获得数据
PUT方法 requests.put
- 更新数据
POST方法 requests.post
- 提交数据
DELETE方法 requests.delete
- 删除数据
第三步
查询参数 (指定额外的信息) 请求体数据 (比查询参数信息包含更多)
第四步
响应格式
响应的格式一般是 XML 和 JSON ( 常见 ),用Python实现
注意 有些条件也很 关键 : 是否要求认证信息 ; 是否只有 认证通过,有授权的用户 才能访问 。 官方文档 会把这些说明清楚,所以 搜索和查阅文档是一项很重要的能力
网络爬虫 便捷且低成本 获取数据
第一步 : 获取网页内容
主要的是 Requests库
HTTP ( H ypertext T ransfer P rotocol 超文本传输协议 ) 请求和响应
HTTP请求
User-Agent:
Accept:
常用的 两种请求方法
GET方法
浏览器向网页 获取数据
request.get(“完整路径”) HTTP请求
生成一个 实例
head={ }
可以 自定义传入的HTTP的请求头内容
正常浏览器浏览会发出 GTE请求 即会 自带浏览器的内容和版本及电脑操作系统等
而 正常程序中 就 不会带有浏览器的内容和版本 ,则此时一些服务器就会 拒绝响应该请求 ,此时就可以 更改这个user-Agent ,更改成 含有浏览器的内容和版本 ,从而可以将爬虫程序 伪装成 正常浏览器
POST方法
创建数据
注意事项
- 客户端请求 数量和频率 不能太多 ,否则 无异于DDOS攻击 ( 发送海量请求 让网站资源 无法服务正常用户 ,让用户 无法正常访问 )
- 若网站 有反爬机制 , 不要去强行突破
- 应该查看 网站的robots文件 ,查看 了解可爬取的网页路径范围
- 不要
去
爬
公民隐私 国家事务/国防 尖端科技领域的计算机系统
图5
HTTP响应
状态码 主要有
200 OK 客户端 请求成功
2 表示 成功 ,请求完成
301 Moved Permanently 资源被 永久移动到新地址
3 表示 重定向 ,需要进一步操作
400 Bad Request 客户端 不 能 被服务器 所 理解
401 Unauthorized 请求 未经授权
403 Forbidden 服务器 拒绝提供服务
404 Not Found 请求资源不存在 例如:请求里面 有错误 请求的 资源无效
4 表示 客户端错误
500 Internal Server Error 服务器 发生不可预期 的 错误
503 Server Unavailable 服务器当前 不能处理客户端的请求 例如: 出现问题 正在维修 等
5 表示 服务器错误
get实例.status_code 返回 回答的编码
get实例.Ok 属性可看 请求是否成功
get实例.text 以 字符串形式储存内容
第二步 : 解析网页内容 HTML网页结构
主要是 BeautifulSoup库
pip install bs4 BeautifulSoup 安装BeautifulSoup库
from bs4 import BeautifulSoup 导入 相应的模板
一个网页有 三大技术要素 :
CSS 定义网页的格式 (可以 增加美观度 )
JavaScript 定义 用户和网页的 交互逻辑
- 前两大技术 非数据分析重点 ,这里 不加以赘述
HTML 定义 网页的结构和信息
写HTML 一般使用 和 等主流 编辑器 ,我这里采用Vscode编辑器(打开速度很快)
若将vscode的编辑器 改成中文字体 :
HTML 格式
- < !DOCTYPE HTML> 告知 浏览器该文件 类型为HTML
- < html> html文件起始 表示 开始 (是 HTML文档的根 )
- < /html> html文件闭合 表示 结束
- < head>…< /head>
html标题
- 一般放 < title>…< /title> 定义 HTML网页页面标题
- < body>…< /body>
html主体
- 一般 放html标签
HTML 标签
层级类标签
< h1>…< /h1> < h2>…< /h2> < h3>…< /h3> …… < h6>…< /h6> 表示 文本层级
换行类标签
< p>…< /p> 默认换行
< br> 在文本段落中 强制换行 且 只有 起始标签,没有闭合标签
顺序类标签
< ol>…< /ol> 表示 有序列表的标签
< ul>…< /ul> 表示 无序列表的标签
- < li>…< /li> 与 有序或者无序搭配使用 ,表示 顺序
文字类标签
< b>…< /b> 进行 文字加粗
< i>…< /i> 将 文字变成斜体
< u>…< /u> 将 文字加下划线
图片类标签
< img src=" 图片路径"> 添加图片
- width=" “ 图片宽度
- height=” “ 图片高度
表格类标签
< table> …< /table> 表示表格
- border=“数字”
该
参数表示
表格
边框的大小
默认
为0
,即
没有边框
- < thead>…< /thead> 表示 表格头部
- < tbody>…< /tbody> 表示 表格主体
- < tr>…< /tr> 定义 表格行
- < td> 定义 表格数据
链接类标签
< a href= “ 路径 ”>自定义输出 文字 < /a> 添加超链接
- target=” “
该参数
指定
窗口
打开方式
- _self 表示 在 当前页面打开窗口
- _blank 表示 在 新页面打开窗口
class属性
定义 元素的 类名称 ,从而 帮助分组
例如:
< pclass=“content”>给岁月以文明< /p>
< pclass=“content”>而不是给文明以岁月< /p>
< pclass=“review”>好评!< /p>
容器类标签
容器 本身不包含任何内容
< div>…< /div> 块级元素 , 独占 自己的 一块 , 一行最多一个< div> 作为 其中子元素
< span>…< /span> 内联元素 , 不会独占一块 , 一行 可以 多个span元素
HTML元素类型很多
可以在浏览器里 点击右键 (显示网页 源代码 )
或者
可以在浏览器 点击右键 ( 检查 , 再点 一下窗口 左上角小箭头 ,这样点击页面任何一个东西都会 显示其元素 )
BeautifulSoup函数 ( get实例 , “html.parser” )
“html.parser” 为 解析器
会 生成BeautifulSoup实例
该实例 包含特别多 的 方法和属性
例如:
BeautifulSoup实例.p 获取 html第1个p元素
BeautifulSoup实例.img 获取 htm还有一个img图片元素
soup.fillAII() 能根据 标签属性等方法 找出 所有符合要求的元素
(“ 标签 ”, attrs ={“想找的 属性 ”:” 想找的 值 “}) 返回 可迭代对象
可迭代对象.string属性 将 标签包围的文字返回 还可以使用 切片[ : ]
find() 可 获取第一个对象
爬虫技术 要求,要 随机应变 , 爬取 自己想要的 信息 ,爬虫总需要我们跟网站 斗智斗勇
第三步 储存式分析数据 (由于 具体需求具体处理 ,这里不加以赘述)
若要 收集数据集 则将 数据储存进数据库
若要 分析数据趋势 则将数据进行 可视化
若要 舆情监控 则将AI 文本情绪分析
项目实战一
项目实战- 爬取 豆瓣电影TOP250 源代码数据 ,已上传到
本人CSDN 博客主页资源上 也 有该项目实战
项目简介:
爬取 豆瓣电影TOP250 源代码数据 -项目实战7- 爬取源代码数据
ipynb格式
Python语法 -用 Jupyter notebook 打开
用来 练习如何爬取源代码数据 ,可用Pycharm,也可用 Jupyter notebook进行编写代码, 相关代码已给出 , 拿到 豆瓣电影TOP250页面的 源代码之后 ,从而方便 项目实战二 进一步爬取标题数据
项目实战二
项目实战- 爬取 豆瓣电影 标题数据 ,已上传到
本人CSDN 博客主页资源上 也 有该项目实战
项目简介:
爬取 豆瓣电影 标题数据 -项目实战8-爬取豆瓣网页标题数据- ipynb格式
Python语法 -用 Jupyter notebook 打开
用来 练习网络爬虫爬取豆瓣网页TOP250电影标题 和 获取源代码 ,整个流程 特别清晰
每个步骤均用 Makedown编辑器 进行 编辑文字 , 部分环节 加以 图片说明 ,每一步都给出了清晰的代码
可以按照步骤一步一步进行 模仿 ,理解其中的思维逻辑,然后上手进行操作,在操作的过程中 不断思考
等能力有了很大提升之后,就可以慢慢独立思考 从事项目了
好的,到此为止啦, 祝您变得更强
想说的话
实不相瞒,写的这篇博客 写了13个小时以上 (加上自己学习( 反复学习了5遍 )和纸质笔记( 写了满满的6页 ), 共十五小时 吧), 很累 , 希望大佬 支持
道阻且长 行则将至 |
---|
个人主页: 大佬的支持和鼓励,将是我成长路上最大的动力 在这里插入图片描述 |