Python练习:使用库
题目1
请大家使用 pip install requests 命令安装好 requests 库。
该库可以用来构建http请求发送给服务器,并获取响应消息。 经常用于测试服务端和一些自动化工作。
使用文档可以参考这里
新浪提供了股票数据 web API服务, 可以 得到指定股票的最新行情
url为 http://hq.sinajs.cn/list=<股票代码>
以大秦铁路(股票代码:sh601006)为例,如果要获取它的最新行情,只需访问新浪的接口:
ret = requests.get(
'http://hq.sinajs.cn/list=sh601006',
# 现在一定要加上下面这个消息头
headers ={'Referer':'http://finace.sina.com.cn'}
)
print(ret.text)
这个url会返回一串文本,例如:
var hq_str_sh601006="大秦铁路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91, 26.92,22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700, 26.89, 14300,26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93, 14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11, 15:05:32";
这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,按照程序员的思路,顺序号从0开始。
0:”大秦铁路”,股票名字;
1:”27.55″,今日开盘价;
2:”27.25″,昨日收盘价;
后面的字段我们就不需要了
请大家写一个程序,该程序实现一个函数 getStockPrice
,利用 requests库, 获取 指定某只股票的今日开盘价格。该函数的参数为指定股票的代码。
答案视频讲解
题目2
点击这里下载压缩包,解压后得到Python模块文件 getissue.py
。
这个文件里面有一个函数 getIssueBody。 可以将我们论坛上指定某个帖子的主体内容返回回来。
其参数是帖子的ID。
请大家编写一个程序使用该函数,分别返回ID 为 1 和 2 的两个帖子的内容。
要求大家编写程序的代码文件 (比如main.py)和 getissue.py 分别放在不同的目录下面。
大家可以通过 设置环境变量 PYTHONPATH, 或者直接修改 sys.path 的方式, 让解释器可以寻找到 getissue.py 这个模块文件。
答案视频讲解
您需要高效学习,找工作? 点击咨询 报名实战班
点击查看学员就业情况
题目1-答案
import requests
def getStockPrice(stockName):
# 构造 HTTP 请求
url = f'http://hq.sinajs.cn/list={stockName}'
# 返回的response 对应响应消息的对象
response = requests.get(url,
headers ={'Referer':'http://finace.sina.com.cn'})
# 返回的内容在消息体中,通过text属性获取
info = response.text
print(info)
# 返回的是这种格式 大秦铁路, 27.55, 27.25, 26.91,
# 通过split 方法截取
price = info.split(',')[1]
return price
price = getStockPrice('sz000063')
print(price)
题目2-答案
假设我们下载 模块 getissue.py 文件存储路径为 d:\libs\getissue.py
而我们编写的调用该函数的代码文件路径为 e:\main.py, 其内容为
from getissue import getIssueBody
# 获取ID 为 1 的 帖子的内容
print(getIssueBody(1))
# 获取ID 为 2 的 帖子的内容
print(getIssueBody(2))
那么我们运行的时候 在进入命令行的时候,输入命令
set PYTHONPATH=d:\libs
设置环境变量,这样解释器启动后, d:\libs 这个路径就会被加到 sys.path中, 当执行 import xxx 模块的时候,就会把这个路径作为模块搜索的路径之一。
如下所示