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

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

在这里插入图片描述 个人主页:在线OJ的阿川

大佬的支持和鼓励,将是我成长路上最大的动力在这里插入图片描述

阿川水平有限,如有错误,欢迎大佬指正在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Python 初阶
Python–语言基础与由来介绍
Python–注意事项
Python–语句与众所周知
数据清洗前 基本技能
数据分析—技术栈和开发环境搭建
数据分析—Numpy和Pandas库基本用法及实例
AI交互爬虫前 必看
数据分析—三前奏:获取/ 读取/ 评估数据
数据分析—数据清洗操作及众所周知
数据分析—数据整理操作及众所周知
数据分析—统计学基础及Python具体实现
数据分析—数据可视化Python实现超详解
数据分析—推断统计学及Python实现
数据分析—线性及逻辑回归模型

目录

  • AI概述
  • AI在编程领域的应用
  • 主流AI
  • AI注意事项
  • 数据分析领域AI作用及爬虫

AI概述

在这个时代 AI 我们每个 息息相关
1956年 在美国召开了第一场人工智能研讨会,由此人类开始了对人工智能道路探索。
在这场会议上纽维尔西蒙演示了一个名为"逻辑学家"的程序充分展示了机器能做类似推理的工作。在这个会议上人工智能获得了定义
1978年 国内第一所 人工智能与智能控制研究组在清华大学成立,并且同年招收了第1批硕士生。那时主要以智能机器人作为主要研究方向。
1990年智能技术与系统国家重点实验室正式建立,标志着中国第1次开始正式开展人工智能相关研究
时间发展至今,人工智能已经有三个阶段第一代人工智能,第二代人工智能,第三代人工智能。
最初的第一代人工智能,让机器像人一样思考,培养从已知知识出发推出新的结论新的知识的能力。
第二代人工智能主要基于人工神经网络模拟人脑脑神经网络的工作原理
但是第二代人工智能由于所有训练的数据 均来自客观世界,从而它的识别只能识别不同的物体,并不能真正的认识物体。
第三代人工智能则是依靠模型和算法来支持发展,并在此过程中发展了一系列人工智能理论
而目前市面上的AI大语言模型,则是将第一代人工智能的知识为驱动,和第二代人工智能的数据以及提炼出的算法和模型以及算力同时运用而成
大语言模型的,来自于两个"大"
第1个"大"是大的人工神经网络
人工神经网络可以用来分类学习数据中间关联关系,也可以用来预测
第2个"大"是大的文本
由于第1个大的发展,导致所有文本不用经过任何预处理就可以学习,所以文本就由最初的GB量级发展为TB量级
大模型的局限性
缺乏主动性(依赖于提示工程)且输出质量不可控(会出现计算机"幻觉"), 且AI工具尚不能准确分辨对错,也难以主动进行自我迭代(也需要不断花钱去砸算力)。
但目前人工智能最大的问题是:
专用人工智能(在 特定 的领域用 特定 的模型完成 特定 的任务)
接下来人工智能将向通用人工智能进行发展
除此以外,人工智能应要具有身体,所以说必须通过机器人与客观世界连在一起
在未来,越来越多的人学习AI是大势所趋,而学习AI的人要么向各行各业转移,为各行各业进行赋能;要么就和其他技术结合,发展出新的产业
各位,人工智能对各行各业都有重大影响,但大多数帮助人类提高工作质量和效率而非取代人类进行工作。(这里应该放一个链接哈)
送上喜欢的一句话:
"让混沌重生,然后掌握混沌"
未来已来不因物喜不以己悲,需要的是坚持不懈的努力天道酬勤

在这里插入图片描述

AI在编程领域的应用

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

在这里插入图片描述

  • 解决报错
    报错信息进行分析并修正

在这里插入图片描述

  • 找Bug
    可提交自己写的代码本身预期

在这里插入图片描述

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

在这里插入图片描述

  • 提示代码质量
    提交自己代码问如何改进.
    在这里插入图片描述

主流AI

目前市面上主要的AI有:
1. Open AI官网,访问需翻墙)
2. Meta AI官网,访问需翻墙)
3. 通义千问
4. 智谱清言
5. 文心一言
6. 讯飞星火

AI注意事项

  • 使用AI前先给予AI一个身份 帮助更好提高准确回答质量
    与此同时 衍生出提示工程prompt(一个庞大的领域【截至2024年6月20日,OpenAI、斯坦福等多所机构筛选出1565篇论文发布大模型《提示技术报告》】(要翻墙哈,若不想翻墙,也想看,可以联系我) 可以帮助提高AI回答质量

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

前言
在Jupyter notebook中内置有专门的Jupyter AI

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

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

  • 输入pip install jupyter_ai
    在这里插入图片描述
    选择AI大模型
    安装相应AI大模型Python库

在这里插入图片描述
例如:安装gpt4all

在这里插入图片描述

具体领域

  • 什么具体指标值得分析

在这里插入图片描述

  • 数据集哪不干净怎么清洗
    在这里插入图片描述

  • 数据集得到什么结论
    在这里插入图片描述

  • 找数据集

    • 官方网站可供下载查看的数据集
      需查看是否开启了网页浏览模式
      若用OpenAI,则先创建OpenAI账户及Open AI密钥和Open AI的Token数量上限

在这里插入图片描述

  • APIA pplication P rogramming Interface 应用程序编程接口) 从官方获取数据
    优点:
    更可靠(因为通常是官方提供的
    更合规爬虫可能违反违规
    易解析( 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实现

在这里插入图片描述

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

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

    1. 第一步获取网页内容
      主要的是Requests库

在这里插入图片描述

HTTPHypertext Transfer Protocol 超文本传输协议请求和响应

在这里插入图片描述

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字符串形式储存内容

在这里插入图片描述

  1. 第二步解析网页内容 HTML网页结构
    主要是BeautifulSoup库
    pip install bs4 BeautifulSoup 安装BeautifulSoup库

在这里插入图片描述

from bs4 import BeautifulSoup 导入相应的模板

在这里插入图片描述

一个网页有三大技术要素

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

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

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

    • 写HTML一般使用PycharmVscode等主流编辑器,我这里采用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()获取第一个对象
    在这里插入图片描述

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

  1. 第三步 储存式分析数据(由于具体需求具体处理,这里不加以赘述)
    若要收集数据集 则将数据储存进数据库
    若要分析数据趋势 则将数据进行可视化
    若要舆情监控 则将AI文本情绪分析

在这里插入图片描述

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

在这里插入图片描述
想说的话

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

在这里插入图片描述

道阻且长 行则将至

个人主页:在线OJ的阿川大佬的支持和鼓励,将是我成长路上最大的动力 在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/740020.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

axios全局封装AbortController取消重复请求

为什么&#xff1f; 问题&#xff1a;为什么axios要配置AbortController&#xff1f;防抖节流不行吗&#xff1f; 分析&#xff1a; 防抖节流本质上是用延时器来操作请求的。防抖是判断延时器是否存在&#xff0c;如果存在&#xff0c;清除延时器&#xff0c;重新开启一个延…

地信大四,实习重要吗?怎么找实习岗位?

“地信怎么找实习啊&#xff1f;” “实习三个月以上&#xff1f;暑假只有两个月啊” “什么岗位实习比较有用&#xff1f;” “助理类岗位是做什么&#xff1f;” …… 同学们好啊&#xff0c;不知不觉24年已经是过完一小半了&#xff0c;24届毕业的同学们也差不多就要迎来…

ES内存溢出报错问题解决方案

博主有话说&#xff1a;该博文根据实际案例编写&#xff0c;在编写过程中将敏感信息进行替换&#xff0c;可能存在矛盾的地方&#xff0c;望见谅 1 错误详情 [typecircuit_breaking_exception, reason[parent] Data too large, data for [<http_request>] would be [1256…

Qt项目天气预报(5) - 根据JSON刷新天气信息+城市匹配

刷新当天天气 我们使用如下api接入&#xff0c;当然需要自己去 易客云天气API免费天气API接口|天气预报接口|全球天气API接口|气象预警|空气质量 (tianqiapi.com)注册后生成自己的对应id才可以使用 //专业天气v61 http://v1.yiketianqi.com/api?unescape1&versionv61&…

力扣爆刷第153天之TOP100五连刷26-30(接雨水、环形链表、最长上升子序列)

力扣爆刷第153天之TOP100五连刷26-30&#xff08;接雨水、环形链表、最长上升子序列&#xff09; 文章目录 力扣爆刷第153天之TOP100五连刷26-30&#xff08;接雨水、环形链表、最长上升子序列&#xff09;一、300. 最长递增子序列二、415. 字符串相加三、143. 重排链表四、42.…

docker技术的说明

根据学习网站整理&#xff1a;Docker 10分钟快速入门_哔哩哔哩_bilibili 小白也能看懂的容器科普说明_哔哩哔哩_bilibili 1.虚拟机&#xff0c;需要模拟硬件系统、运行整个操作系统&#xff0c;但体积臃肿&#xff0c;内存占用较高&#xff0c;程序的性能也会受到影响。 2.…

哪里找好用的商城系统源码?

很多企业在挑选商城系统时&#xff0c;由于不懂源码&#xff0c;很难选择到高质量源码的商城系统&#xff0c;那么哪里找好用的商城系统源码?如何选择?接下来就跟着启山智软小编一起来看看吧&#xff0c;以下为选择源码时的四看&#xff1a; 1.一看源码公司行业动态 可以查…

git上传本地项目及更新项目

1、注册GitHub账号和下载git 2、在GitHub上新建一个仓库&#xff0c;点击号——>New repository&#xff0c;给仓库起一个名字&#xff0c;点击Create repository 3、进入要上传的项目中&#xff0c;右键点击git back here&#xff0c;命令行输入git init初始化&#xff0c…

13个行业数据分析指标体系如何建设100问

提供针对13个行业的数据分析指标体系的全面指南&#xff0c;涵盖各行业的关键指标和分析维度&#xff0c;帮助读者深入了解和构建有效的指标体系。以下是文章的主要内容&#xff1a; 电商行业数据指标体系&#xff1a;包括客户价值、商品、网站流量、整体运营、市场营销活动、市…

什么是响应式编程

我们知道&#xff0c;当系统面对大流量、高并发的访问请求时&#xff0c;就可能会出现一系列性能问题&#xff0c;导致服务丧失了即时的响应性。如何时刻确保系统具有应对请求压力的能力&#xff0c;是架构设计的核心问题之一。 经典的服务隔离、限流、降级以及熔断等机制能够在…

基于Istio服务网格的熔断限流实现

在微服务架构的宏大图景中&#xff0c;Istio服务网格如同一位精巧的交通指挥官&#xff0c;它不仅确保了服务间通信的顺畅无阻&#xff0c;还通过先进的熔断与限流机制&#xff0c;为系统的稳定性筑起了一道坚固的防线。接下来&#xff0c;让我们一窥Istio如何在不改动服务代码…

YTM32的flash存储器boot-swap功能详解

YTM32的flash存储器boot-swap功能详解 文章目录 YTM32的flash存储器boot-swap功能详解IntroductionPricinple & MachenisimApplication基本的boot swap用例不更新bootloader的情况更新bootloader的情况 Conclusion Introduction 客户在开发量产型的ECU软件时&#xff0c;大…

并发编程理论基础——管程(并发编程的万能钥匙)(七)

什么是管程 Java采用了管程技术&#xff0c;synchronized关键字及wait()、notify()、notifyAll()三个方法都是管程的组成部分管程和信号量是等价的&#xff0c;管程和信号量之间可以互相实现英文名&#xff1a;Monitor 直译为监视器管程指的是管理共享变量以及对共享变量的操作…

项目性能优化之给dist文件夹中chunk-vendors.js做splitChunks分包,从而减少首屏加载时间

问题描述 我们项目做完,验收通过以后,就需要打包发布上线啦。于是我们执行命令:npm run build打dist包,打包完以后截图如下: 直接打包的chunk-vendors.js太大了 chunk-vendors.js文件太大了,所以我们需要将其优化一下,拆分一下 chunk-vendors.js是啥 chunk-vendors.j…

一种自定义SPI通信协议

本文介绍一种自定义SPI通信协议。 项目开发过程中&#xff0c;有时候会涉及到主处理器或FPGA和MCU之间的SPI通信&#xff0c;涉及到通信就需要考虑通信协议&#xff0c;本文给出一种简单的通信协议。 1.协议格式 协议格式如下图。 其中&#xff0c;将40 bit划分为2大部分&am…

代码随想录训练营Day 69|并查集理论基础、卡码网107.寻找存在的路径

1.并查集理论基础 并查集理论基础 | 代码随想录 并查集可以解决什么问题呢&#xff1f; 主要就是集合问题&#xff0c;两个节点在不在一个集合&#xff0c;也可以将两个节点添加到一个集合中。 注意&#xff1a;求根是求箭头出发的数 路径压缩&#xff1a;求根的根。把根的根的…

【C语言】数据的存储

目录 Ⅰ、数据类型介绍 1.类型的基本归类&#xff1a; Ⅱ、整形在内存中的存储 1 .原码、反码、补码 2. 大小端介绍 3 练习&#xff1a; Ⅲ、浮点型在内存中的存储 1 .浮点数存储规则 本章重点 1. 数据类型详细介绍 2. 整形在内存中的存储&#xff1a;原码、反码、补码 3. …

测试卡无法仪表注册问题分析

1、问题描述 00101测试卡无法注册LTE网络&#xff0c;modemlog中发现终端未发起Attach请求&#xff0c;对比正常注册非正常注册的版本&#xff0c;发现正常的多出了ims apn。可以通过ATCGDCONT?来查询modem APN参数。 2、问题分析 目前Modem是一套&#xff0c;没有相关修改。因…

SpringBoot使用滑动窗口限流防止用户重复提交(自定义注解实现)

在你的项目中&#xff0c;有没有遇到用户重复提交的场景&#xff0c;即当用户因为网络延迟等情况把已经提交过一次的东西再次进行了提价&#xff0c;本篇文章将向各位介绍使用滑动窗口限流的方式来防止用户重复提交&#xff0c;并通过我们的自定义注解来进行封装功能。 首先&a…

vue3 element-plus 实现 table表格合并单元格 和 多级表头

多级表头 数据结构比较复杂的时候&#xff0c;可使用多级表头来展现数据的层次关系。 只需要将el-table-column 放置于el-table-column 中&#xff0c;你可以实现组头。 一般可以直接用官网提供的写法&#xff0c;但是有可能数据会比较多的时候&#xff0c;就需要我们稍微改造…