数据分析系列---requests的使用

🌈个人主页:羽晨同学

💫个人格言:"成为自己未来的主人~"

主环境和虚拟环境

主环境是电脑上安装的python环境

虚拟环境在项目中可以实现环境的隔离,假设DemoA和DemoB分别用到了某个三方库1.0和2.0版本,那么在一个环境中,就会出现冲突,这个三方库只能安装其中一个版本。

这个时候就出现了虚拟环境,可以通过已安装的环境创建多个虚拟环境。

分别给DemoA和DemoB各自分配一个虚拟环境,那么每个项目需要用到哪个三方库,按需安装,各不冲突。

requests的使用

首先,我们需要导入模块

python 复制代码
import  requests

这个模块的作用是向网址发送请求(本质是向网址所在的服务器发送请求),得到响应结果。

python 复制代码
URL = 'http://www.baidu.com/'

比如说,我们想要访问的是百度。

在访问之前,一般来说,我们需要把爬虫进行伪装。

python 复制代码
Headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'
}

我们可以通过设置headers来进行伪装,headers是标头,其中的User-Agent是标头当中的一个参数,它的存在足以使爬虫应对大部分的网站。

那么它怎么找呢?

然后,我们向网址发送请求,得到其给的响应结果(响应结果中包含了我们需要的各种信息)

python 复制代码
response =requests.get(url=URL,headers=Headers)

然后我们可以打印这个响应结果,看一下可以得到些什么?

python 复制代码
print(response) # <Response [200]>

我们可以从结果当中看到对应的状态码,状态码决定了爬虫是否能用。

python 复制代码
print(response.status_code)# 200

我们可以通过这个来看到对应的状态码

这个打印出来的200代表着爬虫正常访问了服务器。

这里,我们多说几个其他的状态码:

403:爬虫被拒绝了

404:网页丢失

500:服务器崩溃

如果网页中发生了乱码,再写下面的这一段代码,其中,utf-8表示这个网页的编码方式。

python 复制代码
response.encoding = 'utf-8'

这个我们可以从网页源代码中的charset中查看,这个是一定存在的。

我们也可以通过代码查看网页的源代码。

python 复制代码
print(response.text)

我们可以通过这个语句来查看网页的源代码。此时的网页源代码是字符串类型的。

使用正则表达式从网页原地阿妈中匹配信息

我们首先先导入正则

python 复制代码
import re
python 复制代码
regexStr = r'<span class ="title-content-title">(.*?)</span>'
# 在findall方法中,正则表达式的哪部分有分组,最终获取的就是哪部分
result = re.findall(regexStr,response.text)
# print(result)
for i in result:
    print(i)

好了,今天的内容就到这里,我们明天再见。

相关推荐
高洁011 小时前
多模态AI模型融合难?核心问题与解决思路
人工智能·深度学习·机器学习·数据挖掘·transformer
聊聊MES那点事6 小时前
从数据采集到日报输出,FastReport如何帮工厂做好生产日报?
数据分析·报表工具·fastreport
kcuwu.7 小时前
Python数据分析三剑客导论:NumPy、Pandas、Matplotlib 从入门到入门
python·数据分析·numpy
数厘7 小时前
2.4MySQL安装配置指南(电商数据分析专用)
数据库·mysql·数据分析
databook9 小时前
逃离SQL丛林:实用主义的数据救赎
后端·sql·数据分析
wang_yb9 小时前
逃离SQL丛林:实用主义的数据救赎
数据分析·databook
hqyjzsb10 小时前
深度洞察人性需求!拆解传统心理咨询升级AI智慧辅导师数智工作流
人工智能·深度学习·学习·数据挖掘·aigc·学习方法·业界资讯
问组生物10 小时前
在线绘制带连线的配体-受体联合热图
数据分析·数据可视化·论文插图·科研绘图·科学科普·基因表达·联合热图
Aloudata10 小时前
如何通过 NoETL 指标平台根治跨业务口径混乱
数据分析·etl·指标平台·指标口径
小陈工11 小时前
Python Web开发入门(十八):跨域问题解决方案——从“为什么我的请求被拦了“到“我让浏览器乖乖听话“
开发语言·python·机器学习·架构·数据挖掘·回归·状态模式