目录

AI交互及爬虫数据分析

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

  • APIA 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. 第四步

    响应格式

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

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

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

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

    1. 第一步获取网页内容

      主要的是 Requests库

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

HTTPH 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

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