当前位置:首页>python>江湖有鱼|Python入门系列之三:requests 库从安装到上手,让 Python 学会 “访问” 互联网

江湖有鱼|Python入门系列之三:requests 库从安装到上手,让 Python 学会 “访问” 互联网

  • 2026-09-08 02:14:39
江湖有鱼|Python入门系列之三:requests 库从安装到上手,让 Python 学会 “访问” 互联网

一、requests库指的是什么

requests是Python的一个第三方网络请求库。简单说,它能让 Python代码像“浏览器”一样,去访问互联网上的网址、获取网址里的数据(比如股票价格、网页内容、接口数据)。

通俗的解释,requests就是Python的“浏览器”。平时用IE、 Chrome、Edge 等浏览器输入网址,能看到网页内容;而requests就是给Python代码装了一个“无界面的浏览器”。

以获取股票数据为例,过程实际分为三步:(1)Python代码告诉requests:“去访问某个股票数据的网址”;(2)requests帮Python连接这个网址,并把网址里的股票价格数据“拿回来”;(3)Python代码再从拿回来的数据里,提取出需要的股价。也就是说,如果没有 requests,Python代码就没法主动去互联网上“拿数据”。Python的股票获取代码,核心就是靠requests去调用股票接口,获取实时股价。

requests 本身 100% 免费开源,使用无任何费用,仅需注意数据源是否免费。

二、requests库可以做什么

除了获取股票数据,requests是Python做网络相关开发的“必备工具”,比如:

(1)爬虫:爬取网页上的新闻、商品价格、天气数据;

(2)调用 API 接口:调用微信/支付宝支付接口、地图接口、天气接口;

(3)自动化操作:自动登录网站、自动提交表单、自动下载文件;

(4)数据采集:从各类公开接口获取数据(比如股票、基金、快递信息)。三、requests库的安装

需要在安装完Pycharm后,另行安装,不是系统自带的。优先用 PyCharm 的“终端”安装。

1.打开 PyCharm,找到底部左下方的“终端(Terminal)”标签。

2.打开后,终端开头会显示虚拟环境,比如(.venv),这说明已激活虚拟环境,这是关键!

3.直接在终端里输入命令“pip install requests”,按回车键。

4.等待安装:终端会显示下载进度,最后出现 Successfully installed requests-xxx(xxx 是版本号),就说明装好了。

四、Python代码示例

url = f"http://push2.eastmoney.com/api/qt/stock/get?secid={stock_code}&fields=f43"

response = requests.get(url, timeout=10)

response.raise_for_status()  # 检查请求是否成功

data = response.json()

以取快递为例,上述的代码表示:先写好快递地址:基础地址(快递站)+备注(要XX人的包裹)→对应拼接 URL;然后打电话给快递员(requests.get),让他去这个地址取包裹,要求10秒内回复,拿到包裹后放在response这个盒子里→对应发送请求并接收数据。

说明:

第一行是拼接精准的股票接口地址,指定“查哪只股票、要什么数据”;第二行是向这个地址发送请求,并设置 10 秒超时,把服务器返回的“数据包裹”存到response里;

(1)url

就是第一行拼接好的完整接口地址,告诉requests要访问哪里。

为什么要这样写?这是接口要求。因为东方财富的这个接口必须按“基础网址 + secid+fields” 的格式请求,否则服务器不知道你要查哪只股票、要什么数据,会直接返回错误。

这是拼接请求网址(接口地址),拆解成3部分:

基础网址:http://push2.eastmoney.com/api/qt/stock/get

这是东方财富公开的股票数据接口地址,专门用来提供股票实时价格,相当于“存放股票价格的服务器地址”。

参数拼接:?secid={stock_code}&fields=f43

?:分隔“基础网址”和“请求参数”,是 URL的通用格式(比如浏览器搜“Python”,网址里?wd=Python的?就是这个作用);

secid={stock_code}:指定要查哪只股票。secid是接口要求的 “股票代码参数名”,{stock_code}是 Python的f-string语法,会把定义的STOCK_CODE(比如sh600036)替换进去;

&fields=f43:指定要获取什么数据,&用来分隔多个参数,fields=f43表示“只获取股票最新价格”。在东方财富接口里,f43是“最新价”的专属标识。

(2)requests.get()

requests库的核心函数,向指定URL发送GET请求(最常用的网络请求方式,比如浏览器输入网址就是 GET请求,意思是“向这个地址要数据”。

(3)timeout=10

设置“超时时间 10 秒”,也就是说,如果代码和服务器连接超过 10 秒还没拿到数据,就停止等待并报错,避免程序一直卡着。

(4)response变量

接收服务器返回的“数据包裹”,里面包含股票价格、请求是否成功等信息,后续从response里提取股价。

最新文章

随机文章