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

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

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

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

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

在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

具体领域

  • 什么具体指标值得分析

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

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

    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的阿川大佬的支持和鼓励,将是我成长路上最大的动力 在这里插入图片描述
  • 80
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 100
    评论
首先需要了解得物网站的数据结构和爬取方式,得物网站比较复杂,需要使用Selenium+BeautifulSoup进行爬取。 以下是一个简单的得物爬虫Python代码实现(注:仅供学习参考,请勿用于商业用途): ```python import time from selenium import webdriver from selenium.webdriver.chrome.options import Options from bs4 import BeautifulSoup options = Options() options.add_argument('--no-sandbox') # 解决DevToolsActivePort文件不存在报错的问题 options.add_argument('window-size=1920x3000') # 指定浏览器分辨率 options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面 options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度 options.add_argument('--headless') # 无界面 driver = webdriver.Chrome(options=options) url = 'https://www.dewu.com/' driver.get(url) # 等待页面加载完成 time.sleep(3) # 模拟鼠标点击,展开商品列表 driver.find_element_by_xpath('//div[text()="全部商品"]').click() # 等待页面加载完成 time.sleep(3) # 获取页面源代码 html = driver.page_source # 解析页面 soup = BeautifulSoup(html, 'html.parser') # 获取商品列表 items = soup.find_all('div', {'class': 'item-card'}) for item in items: # 获取商品标题 title = item.find('div', {'class': 'title'}).text.strip() # 获取商品价格 price = item.find('div', {'class': 'price'}).text.strip() # 获取商品链接 link = item.find('a', {'class': 'item-link'})['href'] print(title, price, link) # 关闭浏览器 driver.quit() ``` 这里的代码仅仅是一个简单的爬虫示例,如果想要更加深入地了解得物网站的数据结构和爬取方式,需要结合具体的需求进行更加详细的分析和实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 100
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值