沙雕app
以前很闲,特喜欢在沙雕APP上闲逛,最近又去看了看,发现它还给API了,这直接让我毫无关联的两个兴趣在量子层面关联了起来.
我一看,这不就是一个最最最简单的爬虫吗,我就想着刚好拿着写个爬虫入门.
那么下面,就让我们一起用python,喝一碗毒鸡汤吧!
Begin
首先,我们要选择一个合适的语言,根据我细(hú)心(luàn)的思考,我选择用python的requests库.
Second
然后,我们就要进行一番剖析,这个程序的原理主要如下,十分简单:
- 向接口发送一个get请求,拿到返回值
- 用json库解析返回值
- 提取输出我们需要的信息
Third
理论存在,拾剑开屎
这个项目用到了requests第三方库,需要用pip指令自行下载
pip install requests
首先,我们用request库发送get请求
from requests import get
url = 'https://api.shadiao.pro/du'
ret = get(url)
print(ret.text)
给出了这样的输出:
这让我属实没太想到,它是以unicode编码返回的
我用站长工具看了看
没问题
那我们就先把他解析,然后再考虑unicode转文字吧
解析用到了json库,他可以把json形式的字符串转换为python字典形式.
解析之前,我们先要分析一下返回的json格式
{
"data":{
"type":"\u6bd2\u9e21\u6c64",
"text":"\u6211\u80fd\u60f3\u5230\uff0c\u5bf9\u81ea\u5df1\u6700\u51c6\u786e\u7684\u5f62\u5bb9\u8bcd\u53ea\u6709\uff1a\u80a5\u7f8e\u3002"
}
}
在整个json对象里,data键所对应的值又是一个json对象,在date键值对所对应的那个json对象中text便是我们要喝的毒鸡汤.
不知道json的兄弟可能听得有点晕,json对象就是python字典,date键就相当于python字典中的一个键.
接下来,我们就开始解析吧
from requests import get
import json
url = 'https://api.shadiao.pro/du'
ret = get(url)
ret = json.loads(ret.text)
print(ret)
这个过程中,我们不仅将json字符串转换为了python字典,还惊奇的发现,原本的unicode编码经过json.loads()
方法的洗礼后,棱角还被顺便磨平了,变回了正常的字符.
接下来,我们只需要:
ret["data"]["text"]
就可以喝到纯净的毒鸡汤了
这样,一个喝毒鸡汤的python程序就写好了,是不是异常简单?
完整代码如下:
from requests import get
import json
url = 'https://api.shadiao.pro/du'
ret = get(url)
ret = json.loads(ret.text)
print(ret["data"]["text"])
经过不懈努力,我们也是终于喝到了我们的毒鸡汤!
看看是什么吧!