Skip to content

有趣的 API 介绍

Info

作者:Echo,发布于 2021-11-26,阅读时间:约3分钟,微信公众号文章链接:

1 前言

朋友们,又到了美好的周末,这周过的开心吗?被夸了吗?想好做什么来欢度周末了吗?今天让我们从这些问题开始,聊聊数据科学带给我们的浪漫与沙雕的快乐。

2 两个沙雕又有趣的API

也许工作/学习了一周,现在的你很疲惫;也许入冬了,寒冷且要上班让人变得不开心;也许坐久了又吃多了,毕竟每天都是cheating day,肩膀的酸痛和沉甸甸的脂肪让人有点心累。那么给大家介绍第一个沙雕API,可以自动随机生成土味情话逗你开心。 话不多说先上结果。

土味情话示例

每逢周末都要思考干点什么好,不知道你有没有同样的困扰。如果有的话,下面这个boredAPI也许可以帮到你。它API如其名,每当你无聊的时候,它可以随机生成一些活动供你参考。包括活动内容,种类,参与人数,价格昂贵程度,链接(如果有的话)和可行性。比如我早上无聊随机生成了一下,现在正在做它推荐给我的第五件事 :)

活动推荐示例

当然,你还可以按自己的心意修改它。下面是boredAPI的活动参数的参考。这里也附上boredAPI的官方参考文档。你可以限定自己喜欢的种类,参与人数,价格昂贵程度和可行性程度等,让它更加符合你的需求。比如哪天我奋发图强了,限定只看education类的活动,示例如下。我们惊人地发现,学习类活动真的是几乎零成本,随时上手,并且一人可行。再也找不到不学习的理由了……

学习类活动示例
活动参数参考

3 代码实现

API(Application Programming Interface)是应用程序接口。让我们不用重复造轮子,可以只使用简单的几行代码实现各种有趣的功能。在以下demo中,我们分别调用了两个API来随机生成土味情话和活动推荐。你要做的就是重新run一遍。代码如下:

import requests
import json
import random
import time
import pandas as pd

user_agents = [
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60',
    'Opera/8.0 (Windows NT 5.1; U; en)',
    'Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50',
    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50',
    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0',
    'Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36',
    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
    'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 ',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36',
    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14",
    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)"
]

def getHeaders():
    user_agent = user_agents[random.randint(0, len(user_agents)-1)]
    headers = {
        'User-Agent': user_agent
    }
    return headers

# 累了,听听今日份彩虹屁
sweet_words = []
url1 = 'https://chp.shadiao.app/api.php'
for i in range(5):
    time.sleep(random.uniform(0.1,1))
    response1 = requests.get(url1, headers=getHeaders())
    sweet_words.append(response1.text)
truth = pd.DataFrame(sweet_words,columns=['别看了说的就是你'])
truth


# 看看周末干点什么好呢
todo = []
#随机生成活动
url2 = 'http://www.boredapi.com/api/activity/'
#随机生成指定类型活动,下面的示例为教育类。
# url2 = 'http://www.boredapi.com/api/activity?type=education'
for i in range(5):
    time.sleep(random.uniform(0.1,1))
    response2 = requests.get(url2, headers=getHeaders())
    item = json.loads(response2.text)
    todo.append((item["activity"],item["type"],item["participants"],item["price"],item["link"],item["accessibility"]))
todo_list = pd.DataFrame(todo,columns=['事项','类别','参与人数','价格(0-1)','链接','可行性(0-1)'])
todo_list['可行性(0-1)'] = 1-todo_list['可行性(0-1)']
todo_list

4 小结

今天介绍的两个API都非常容易上手,因为它不需要网络令牌或API密钥,没有注册时隐私泄露和广告的烦恼。只要你有Python的环境,无脑运行一下code,可以每次都获得不一样的信息哦。希望能给大家带来一点笑容和欢乐。那么以上,祝大家周末愉快!


Viewed times

Comments