目录

AI交互及爬虫数据分析

/weixin_miniapp.png

AI交互及爬虫【数据分析】

https://i-blog.csdnimg.cn/blog_migrate/d690bb94c57a2b1c20bfe2e8e1903fe5.jpeg#pic_center

各位大佬好 ,这里是阿川的博客,祝您变得更强

https://i-blog.csdnimg.cn/blog_migrate/233d1f12bb99069d193c444d882a0318.png 个人 主页 :

大佬的 支持和鼓励 ,将是我成长路上 最大的动力 https://i-blog.csdnimg.cn/blog_migrate/58d1905aeea637be47a7e2c03d38f062.png

阿川水平有限,如 有错误 ,欢迎大佬 指正 https://i-blog.csdnimg.cn/blog_migrate/8f70f52f31a45ca14ecadf06a4bc2506.png

https://i-blog.csdnimg.cn/blog_migrate/fb95d51570030a50c28fba2fb8dbf182.gif#pic_center

https://i-blog.csdnimg.cn/blog_migrate/5b795d196a6a4840660ac5139d621eb1.gif#pic_center

Python 初阶

数据清洗前 基本技能

AI交互爬虫前

必看

目录

AI概述

在这个时代 AI 与 我们每个 人 息息相关

1956年 在美国召开了 第一场人工智能研讨会 ,由此人类 开始了 对人工智能道路探索。

在这场 会议上 , 纽维尔 和 西蒙 演示了一个名为"逻辑学家"的 程序 充分展示了 机器能做类似推理 的工作。在这个会议上 人工智能获得了定义 。

https://i-blog.csdnimg.cn/blog_migrate/e9e0325ca57dffe4d83859f15f17924b.png#pic_center

https://i-blog.csdnimg.cn/blog_migrate/a138158a4067b60e05eb50ce297f15bc.png#pic_center

1978年 国内 第一所 人工智能与智能控制研究 组在清华大学成立,并且同年招收了第1批硕士生。那时主要以 智能机器人 作为主要研究方向。

1990年 , 智能技术与系统国家重点实验室 正式建立,标志着中国第1次开始正式 开展人工智能相关研究 。

时间发展 至今 ,人工智能已经有 三个阶段 : 第一代 人工智能, 第二代 人工智能, 第三代 人工智能。

从 最初的 第一代人工智能,让 机器像人一样思考 ,培养 从已知知识出发 , 推出新的结论 、 新的知识 的能力。

第二代人工智能 主要基于 人工神经网络模拟人脑脑神经网络的工作原理

但是 第二代人工智能由于所有 训练的数据 均来自客观世界 ,从而它的识别 只能识别 不同的物体,并 不能真正的认识 物体。

第三代人工智能 则是依靠 模型和算法 来支持发展,并在此过程中发展了 一系列人工智能理论 。

而目前市面上的 AI大语言模型 ,则是将第一代人工智能的 知识 为驱动,和第二代人工智能的 数据 以及提炼出的 算法和模型以及算力 同时运用 而成 。

大语言模型的 大 ,来自于 两个"大"

第1个"大"是 大的人工神经网络

人工神经网络可以用来 分类 学习 数据中间 的 关联关系 ,也可以 用来预测 。

第2个"大"是 大的文本

由于第1个大的发展,导致所有文本 不用经过任何预处理 就可以学习,所以文本就由最初的 GB量级 发展为 TB量级 。

大模型的 局限性

缺乏主动性 (依赖于提示工程)且 输出质量不可控 (会出现计算机"幻觉"), 且AI工具尚 不能准确分辨对错 ,也 难以主动 进行 自我迭代 (也需要不断花钱去砸算力)。

但目前人工智能 最大的问题 是:

即 专用人工智能 (在 特定 的领域用 特定 的模型完成 特定 的任务)

而 接下来 人工智能将向 通用人工智能 进行发展

除此以外 ,人工智能 应要具有身体 ,所以说必须 通过机器人与客观世界连在一起

在未来 ,越来越多的人 学习AI是大势所趋 ,而 学习AI的人 要么向各行各业转移,为各行各业 进行赋能 ;要么就 和其他技术结合 ,发展出 新的产业 。

各位,人工智能对各行各业都有重大影响,但 大多数 是 帮助人类提高工作质量和效率 , 而非取代人类进行工作 。(引用中国科学院张钹院士的 )

送上喜欢的一句话:

“让混沌重生,然后掌握混沌”

未来已来 , 不因物喜 , 不以己悲 ,需要的是 坚持不懈的努力 , 天道酬勤

https://i-blog.csdnimg.cn/blog_migrate/ce6027d110e336698e09752d55eccda5.jpeg#pic_center

AI在编程领域的应用

  • 解释概念

    可用 详细且易懂 的回答,并且尽可能 配合简单的例子 对不懂的概念进行 解释

https://i-blog.csdnimg.cn/blog_migrate/ae037a55886a7d3541d31421154b1fb7.png#pic_center

  • 解决报错

    给 报错信息 进行 分析并修正

https://i-blog.csdnimg.cn/blog_migrate/5e528571c058b7753c08a2317edfc95d.png#pic_center

  • 找Bug

    可提交自己写的 代码 及 本身预期

https://i-blog.csdnimg.cn/blog_migrate/3baeb388741490c96606e74ac5e6f30c.png#pic_center

  • 给知识点出题

    可让其提出 相应知识点练习 并附上 答案

https://i-blog.csdnimg.cn/blog_migrate/95d79d427330bdab7835ddf8591f68fe.png#pic_center

  • 提示代码质量

    提交 自己 代码 并 问如何改进 .

    https://i-blog.csdnimg.cn/blog_migrate/c3922012b34e95d74b1b4ca4f683c445.png#pic_center

主流AI

目前市面上 主要的AI 有:

( 官网 ,访问需翻墙)

( 官网 ,访问需翻墙)

AI注意事项

  • 使用AI前 可 先给予AI一个身份 帮助更好 提高准确回答质量

    与此同时 衍生出 提示工程prompt (一个庞大的领域【截至2024年6月20日,OpenAI、斯坦福等多所机构筛选出1565篇论文发布大模型 】(要翻墙哈,若不想翻墙,也想看,可以联系我) 可以帮助 提高AI回答质量 )

https://i-blog.csdnimg.cn/blog_migrate/28ff3e73abbecf31fc0341908d22be56.png#pic_center

https://i-blog.csdnimg.cn/blog_migrate/e7c409a4cbd004e7dcf273da6cfccc58.png#pic_center

  • AI幻觉

    AI 有些时候会 一本正经的胡说八道 ,应该 有自己的分辨能力 ,所以 学习和掌握分析相关的技能去检验生成AI生成的结果 (例如:可以 将AI生成的Python代码去运行 ,若 成功运行且符合预期则表示成功 )

https://i-blog.csdnimg.cn/blog_migrate/805d8b32e76b6d533cafe4f1acf55a6c.png#pic_center

数据分析领域AI作用及爬虫

前言

在Jupyter notebook中 内置有 专门的

  • 可以直接在写代码的环境中 与AI 进行 交互

安装Jupyter AI (Python版本 应高于或等于3.8 )

  • 输入 pip install jupyter_ai

    https://i-blog.csdnimg.cn/blog_migrate/c0977f704e139fdaee648479539b05b4.png#pic_center

    选择AI大模型

    安装相应 AI大模型Python库

https://i-blog.csdnimg.cn/blog_migrate/ba865e645d23c6f67dd4d341059fe921.png#pic_center

例如: 安装gpt4all

https://i-blog.csdnimg.cn/blog_migrate/262ca2c4b9c54c84ae38c430898d7460.png#pic_center

具体领域

  • 什么 具体指标 值得 分析

https://i-blog.csdnimg.cn/blog_migrate/f2d32f7c96c9ed4c4c2bdcce96b98c89.png#pic_center

  • 数据集 哪不干净怎么清洗

    https://i-blog.csdnimg.cn/blog_migrate/5a39e858cce68bf2dff0e74ab37bca64.png#pic_center

  • 数据集 得到什么结论

    https://i-blog.csdnimg.cn/blog_migrate/79bebbb10a0e4bcd0df7f6752354d756.png#pic_center

  • 找数据集

    • 官方网站 可供下载查看的数据集

      需查看是否 开启了网页浏览模式

      若用 OpenAI ,则先创建 及 和

https://i-blog.csdnimg.cn/blog_migrate/571ec0af6da0ead1ed40735adce5b721.png#pic_center

  • API ( A pplication P rogramming I nterface 应用程序编程接口 ) 从 官方获取数据

    优点 :

    更可靠 (因为通常是 官方提供的 )

    更合规 ( 爬虫可能违反违规 )

    易解析 ( API返回数据 更易解析 API返回的格式 更结构化 )

    更准确 (有些 提供的数据 比网页上 更加全面和准确 )

获取 API流程

  1. 第一步

    确定API端点 ( 不同 功能的 API有特定端点 )

  2. 第二步

    请求方法 (绝大部分 API是基于HTTP 即要 知道各个端点所对应的HTTP方法 )

GET方法 requests.get

  • 获得数据

PUT方法 requests.put

  • 更新数据

POST方法 requests.post

  • 提交数据

DELETE方法 requests.delete

  • 删除数据
  1. 第三步

    查询参数 (指定额外的信息) 请求体数据 (比查询参数信息包含更多)

  2. 第四步

    响应格式

    响应的格式一般是 XML 和 JSON ( 常见 ),用Python实现

https://i-blog.csdnimg.cn/blog_migrate/b9ffe362c709ac331f33f4e471aeb8c9.png

注意 有些条件也很 关键 : 是否要求认证信息 ; 是否只有 认证通过,有授权的用户 才能访问 。 官方文档 会把这些说明清楚,所以 搜索和查阅文档是一项很重要的能力

  • 网络爬虫 便捷且低成本 获取数据

    1. 第一步 : 获取网页内容

      主要的是 Requests库

https://i-blog.csdnimg.cn/blog_migrate/488496f2d821bcaf7f12b7b727637d53.png#pic_center

HTTP ( H ypertext T ransfer P rotocol 超文本传输协议 ) 请求和响应

https://i-blog.csdnimg.cn/blog_migrate/76f0524a1d46d5f249015f5c4b39d370.png#pic_center

HTTP请求

https://i-blog.csdnimg.cn/blog_migrate/d1453ddef7a3412449d7cfc66f9c1b19.png#pic_center

User-Agent:

https://i-blog.csdnimg.cn/blog_migrate/ed1629ff32acec7362907a253301278c.png#pic_center

Accept:

https://i-blog.csdnimg.cn/blog_migrate/ce0d62a20ca3f6dd73ff57fb6935055d.png#pic_center

常用的 两种请求方法

  • GET方法

    浏览器向网页 获取数据

    request.get(“完整路径”) HTTP请求

    生成一个 实例

    head={ }

    可以 自定义传入的HTTP的请求头内容

    正常浏览器浏览会发出 GTE请求 即会 自带浏览器的内容和版本及电脑操作系统等

    而 正常程序中 就 不会带有浏览器的内容和版本 ,则此时一些服务器就会 拒绝响应该请求 ,此时就可以 更改这个user-Agent ,更改成 含有浏览器的内容和版本 ,从而可以将爬虫程序 伪装成 正常浏览器

https://i-blog.csdnimg.cn/blog_migrate/6d0da7a5cabcd69cd16adb60b820e824.png#pic_center

  • POST方法

    创建数据

注意事项

  • 客户端请求 数量和频率 不能太多 ,否则 无异于DDOS攻击 ( 发送海量请求 让网站资源 无法服务正常用户 ,让用户 无法正常访问 )
  • 若网站 有反爬机制 , 不要去强行突破
  • 应该查看 网站的robots文件 ,查看 了解可爬取的网页路径范围
  • 不要 去 爬
    • 公民隐私 国家事务/国防 尖端科技领域的计算机系统

      图5

HTTP响应

https://i-blog.csdnimg.cn/blog_migrate/3c17baf9f65fff31e0bbb2089c7043a5.png#pic_center

状态码 主要有

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 表示 服务器错误

https://i-blog.csdnimg.cn/blog_migrate/6d10c9eccc8e2136eb010af50e9a6f6b.png#pic_center

get实例.status_code 返回 回答的编码

get实例.Ok 属性可看 请求是否成功

get实例.text 以 字符串形式储存内容

https://i-blog.csdnimg.cn/blog_migrate/cfdc1896f8642571c7d30c20000e8a08.png#pic_center

  1. 第二步 : 解析网页内容 HTML网页结构

    主要是 BeautifulSoup库

    pip install bs4 BeautifulSoup 安装BeautifulSoup库

https://i-blog.csdnimg.cn/blog_migrate/ebd539e51efec6f704504a6fa7ac2233.png#pic_center

from bs4 import BeautifulSoup 导入 相应的模板

https://i-blog.csdnimg.cn/blog_migrate/d6d256d23f8fe91d63a3fc3d295657f4.png#pic_center

一个网页有 三大技术要素 :

  • CSS 定义网页的格式 (可以 增加美观度 )

  • JavaScript 定义 用户和网页的 交互逻辑

    • 前两大技术 非数据分析重点 ,这里 不加以赘述
  • HTML 定义 网页的结构和信息

    • 写HTML 一般使用 和 等主流 编辑器 ,我这里采用Vscode编辑器(打开速度很快)

      若将vscode的编辑器 改成中文字体 :

      https://i-blog.csdnimg.cn/blog_migrate/8c6f0d41e0846be10b1c9c50686c7942.png#pic_center

      https://i-blog.csdnimg.cn/blog_migrate/94ba2783225f6f3d76ae060d29030531.png#pic_center

HTML 格式

  • < !DOCTYPE HTML> 告知 浏览器该文件 类型为HTML
  • < html> html文件起始 表示 开始 (是 HTML文档的根 )
  • < /html> html文件闭合 表示 结束
  • < head>…< /head> html标题
    • 一般放 < title>…< /title> 定义 HTML网页页面标题
  • < body>…< /body> html主体
    • 一般 放html标签

https://i-blog.csdnimg.cn/blog_migrate/e6da431999bb9d1e7e63ed480c4417de.png#pic_center

https://i-blog.csdnimg.cn/blog_migrate/7f36b416336a4523b5fa8f65749a4dd4.png#pic_center

HTML 标签

层级类标签

< h1>…< /h1> < h2>…< /h2> < h3>…< /h3> …… < h6>…< /h6> 表示 文本层级

https://i-blog.csdnimg.cn/blog_migrate/fbf90b0bb22305d762253ca885a6eada.png#pic_center

换行类标签

< p>…< /p> 默认换行

< br> 在文本段落中 强制换行 且 只有 起始标签,没有闭合标签

https://i-blog.csdnimg.cn/blog_migrate/89dfaa7a89acde19ef91273fad5df58f.png#pic_center

顺序类标签

< ol>…< /ol> 表示 有序列表的标签

< ul>…< /ul> 表示 无序列表的标签

  • < li>…< /li> 与 有序或者无序搭配使用 ,表示 顺序

https://i-blog.csdnimg.cn/blog_migrate/1c884b0cd3d5fd89fbbf08600f2da640.png#pic_center

文字类标签

< b>…< /b> 进行 文字加粗

< i>…< /i> 将 文字变成斜体

< u>…< /u> 将 文字加下划线

https://i-blog.csdnimg.cn/blog_migrate/a1b1bd754c80dc3281b20cf9f918db08.png#pic_center

图片类标签

< img src=" 图片路径"> 添加图片

  • width=" “ 图片宽度
  • height=” “ 图片高度

https://i-blog.csdnimg.cn/blog_migrate/cc05ca5f4d378bb8432774234c251447.png#pic_center

表格类标签

< table> …< /table> 表示表格

  • border=“数字” 该 参数表示 表格 边框的大小 默认 为0 ,即 没有边框
    • < thead>…< /thead> 表示 表格头部
    • < tbody>…< /tbody> 表示 表格主体
    • < tr>…< /tr> 定义 表格行
    • < td> 定义 表格数据

https://i-blog.csdnimg.cn/blog_migrate/e3bcb3807479ddd0e3323d71be0fb265.png#pic_center

链接类标签

< a href= “ 路径 ”>自定义输出 文字 < /a> 添加超链接

  • target=” “ 该参数 指定 窗口 打开方式
    • _self 表示 在 当前页面打开窗口
    • _blank 表示 在 新页面打开窗口

https://i-blog.csdnimg.cn/blog_migrate/dc613fe9101bd8d0f25531e674fe13bc.png#pic_center

class属性

  • 定义 元素的 类名称 ,从而 帮助分组

    例如:

    < pclass=“content”>给岁月以文明< /p>

    < pclass=“content”>而不是给文明以岁月< /p>

    < pclass=“review”>好评!< /p>

https://i-blog.csdnimg.cn/blog_migrate/c19ec0b8d359ace8e6c6644b0b8c9dfc.png#pic_center

容器类标签

容器 本身不包含任何内容

< div>…< /div> 块级元素 , 独占 自己的 一块 , 一行最多一个< div> 作为 其中子元素

< span>…< /span> 内联元素 , 不会独占一块 , 一行 可以 多个span元素

https://i-blog.csdnimg.cn/blog_migrate/3908a2b14a9848b88aef89887a45dd87.png#pic_center

HTML元素类型很多

可以在浏览器里 点击右键 (显示网页 源代码 )

https://i-blog.csdnimg.cn/blog_migrate/4c05c07ace96cbeb3c4969f3562b3aed.png#pic_center

或者

可以在浏览器 点击右键 ( 检查 , 再点 一下窗口 左上角小箭头 ,这样点击页面任何一个东西都会 显示其元素 )

https://i-blog.csdnimg.cn/blog_migrate/4ef59aeb36df7018a90609d85ea57f6e.png#pic_center

https://i-blog.csdnimg.cn/blog_migrate/446646d34f48037fbf141a9a354fd594.png#pic_center

BeautifulSoup函数 ( get实例 , “html.parser” )

  • “html.parser” 为 解析器

  • 会 生成BeautifulSoup实例

    该实例 包含特别多 的 方法和属性

    例如:

    BeautifulSoup实例.p 获取 html第1个p元素

    BeautifulSoup实例.img 获取 htm还有一个img图片元素

https://i-blog.csdnimg.cn/blog_migrate/30cd10d1ac7bb3652392c5ed908cd043.png#pic_center

soup.fillAII() 能根据 标签属性等方法 找出 所有符合要求的元素

  • (“ 标签 ”, attrs ={“想找的 属性 ”:” 想找的 值 “}) 返回 可迭代对象

  • 可迭代对象.string属性 将 标签包围的文字返回 还可以使用 切片[ : ]

    find() 可 获取第一个对象

    https://i-blog.csdnimg.cn/blog_migrate/736fb158375ea96c9b40c7b4565b4465.png#pic_center

爬虫技术 要求,要 随机应变 , 爬取 自己想要的 信息 ,爬虫总需要我们跟网站 斗智斗勇

  1. 第三步 储存式分析数据 (由于 具体需求具体处理 ,这里不加以赘述)

    若要 收集数据集 则将 数据储存进数据库

    若要 分析数据趋势 则将数据进行 可视化

    若要 舆情监控 则将AI 文本情绪分析

https://i-blog.csdnimg.cn/blog_migrate/a8c3800f0a82c5846cb6f2d304579604.png#pic_center

项目实战一

项目实战- 爬取 豆瓣电影TOP250 源代码数据 ,已上传到

本人CSDN 博客主页资源上 也 有该项目实战

项目简介:

爬取 豆瓣电影TOP250 源代码数据 -项目实战7- 爬取源代码数据

ipynb格式

Python语法 -用 Jupyter notebook 打开

用来 练习如何爬取源代码数据 ,可用Pycharm,也可用 Jupyter notebook进行编写代码, 相关代码已给出 , 拿到 豆瓣电影TOP250页面的 源代码之后 ,从而方便 项目实战二 进一步爬取标题数据

项目实战二

项目实战- 爬取 豆瓣电影 标题数据 ,已上传到

本人CSDN 博客主页资源上 也 有该项目实战

项目简介:

爬取 豆瓣电影 标题数据 -项目实战8-爬取豆瓣网页标题数据- ipynb格式

Python语法 -用 Jupyter notebook 打开

用来 练习网络爬虫爬取豆瓣网页TOP250电影标题 和 获取源代码 ,整个流程 特别清晰

每个步骤均用 Makedown编辑器 进行 编辑文字 , 部分环节 加以 图片说明 ,每一步都给出了清晰的代码

可以按照步骤一步一步进行 模仿 ,理解其中的思维逻辑,然后上手进行操作,在操作的过程中 不断思考

等能力有了很大提升之后,就可以慢慢独立思考 从事项目了

好的,到此为止啦, 祝您变得更强

https://i-blog.csdnimg.cn/blog_migrate/5b795d196a6a4840660ac5139d621eb1.gif#pic_center

想说的话

实不相瞒,写的这篇博客 写了13个小时以上 (加上自己学习( 反复学习了5遍 )和纸质笔记( 写了满满的6页 ), 共十五小时 吧), 很累 , 希望大佬 支持

https://i-blog.csdnimg.cn/blog_migrate/51bc3734f455b7f9ebab98a905404ae6.gif#pic_center

道阻且长 行则将至
个人主页: 大佬的支持和鼓励,将是我成长路上最大的动力 在这里插入图片描述

/weixin_miniapp.png