python进行各类API的使用
前言:
献上歌曲一首:
因为快要上学了,昨天晚上熬夜。然后今天早上起床
没有什么精神。吃完午饭后开始思考今天写什么好呢
然后逛着逛着逛到了一个API网站。感觉还不错就爬了
0x01:
环境:windows
模块:requests
API的网站:http://www.avatardata.cn
0x2:
首先我们得去注册账号

注册号之后我们就可以去看你想要调用的API,点击价格标准可以见到所有API

我们可以看到有很多免费的API

看中你想要的然后点击那个
例:

直接申请就可以,他会给你key,所有免费API一天可查询1000次
这里我调了全国免费WIFI和天气预报与IP查询与最新新闻
0x03:
import requests
import optparse
import json
def main():
usage='usage:[-i IP query]' \
' [-m National wifi lat]' \
' [-l National wifi lon]' \
' [-x Daily News]' \
' [-t Info querry]'
parser=optparse.OptionParser(usage)
parser.add_option('-i',dest='ip',help='ip to query')
parser.add_option('-m',dest='wifi',help='National wifi lat')
parser.add_option('-l',dest='wifilon',help='National wifi lon')
parser.add_option('-x',action='store_true',dest='Daily',help='Daily News')
parser.add_option('-t',dest='info',help='info to query')
(options,args)=parser.parse_args()
if options.ip:
ipquery=options.ip
Ipquery(ipquery)
elif options.wifi and options.wifilon:
wifi=options.wifi
wifilon=options.wifilon
Wifi(wifi,wifilon)
elif options.Daily:
Daily()
elif options.info:
info=options.info
Info(info)
else:
parser.print_help()
exit()
def Ipquery(ipquery):
url="http://api.avatardata.cn/IpLookUp/LookUp?key=6a4c1df4ba10453da7ee1d50165bfd08&ip={}".format(ipquery)
header={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
r=requests.get(url,headers=header)
sdw=r.content.decode('utf-8')
lks=json.loads(sdw)
print('[*]ip',ipquery)
print('[*]area:',lks['result']['area'])
print('[*]location:',lks['result']['location']) def Wifi(wifi,wifilon):
url = "http://api.avatardata.cn/Wifi/QueryByRegion?key=你的key&lon={}&lat={}&r=3000&type=1".format(wifi,wifilon)
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
r = requests.get(url, headers=header)
sds = r.json()
poswe = sds['result']['data'][:]
for k in poswe:
print("名字:", k['name'], "详细位置:", k['intro'], "地址:", k['address'], "纬度:", k['google_lat'], "经度:",k['google_lon'], "城市:", k['city'])
def Daily():
url = "http://api.avatardata.cn/TouTiao/Query?key=你的key&type=top"
header = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
r = requests.get(url, headers=header)
sds = r.json()
poswe = sds['result']['data'][:]
for k in poswe:
print("标题:", k['title'], "日期:", k['date'], "网站来源:", k['author_name'], "新闻url:", k['url'])
def Info(info):
url = "http://api.avatardata.cn/Weather/Query?key=你的key={}".format(info)
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
r = requests.get(url, headers=header)
sds = r.json()
print('-------------今天天气-----------------')
print("风度:", sds['result']['realtime']['wind']['direct'], "风力:", sds['result']['realtime']['wind']['power'])
print("天气:", sds['result']['realtime']['weather']['info'], "温度:",
sds['result']['realtime']['weather']['temperature'])
print("时间:", sds['result']['realtime']['date'], "地点:", sds['result']['realtime']['city_name'], "农历:",
sds['result']['realtime']['moon'])
print("空调:", sds['result']['life']['info']['kongtiao'], "运动:", sds['result']['life']['info']['yundong'])
print("紫外线:", sds['result']['life']['info']['ziwaixian'], "感冒:", sds['result']['life']['info']['ganmao'])
print('洗车:', sds['result']['life']['info']['xiche'], "污染:", sds['result']['life']['info']['wuran'])
print('穿衣:', sds['result']['life']['info']['chuanyi'])
print('---------------未来几天-----------------')
lijs = sds['result']['weather'][:]
for b in lijs:
print("日期:", b['date'], "星期几:", b['week'], "农历:", b['nongli'], "早上天气:", b['info']['dawn'], "中午天气:",
b['info']['day'], "晚上天气:", b['info']['night']) if __name__ == '__main__':
main()
一共实现了4个参数

-i截图 IP查询

-m和-l 截图 全国免费wifi查询

-x截图 新闻

-t截图 天气预告

距离上学还有4天,啊啊啊啊啊啊
各位朋友们,我先去洗澡= =
python进行各类API的使用的更多相关文章
- 使用Python结合Face++ API识别人脸
Face++是北京旷视科技旗下的视觉服务平台,可以进行人脸识别.检测等功能.其人脸识别技术据悉在目前准确率较高,其API非常友好,免费使用,功能众多,而且调用几乎没有限制.这里我使用了Python调用 ...
- 使用Python调用Flickr API抓取图片数据
Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站.其API也很友好,可以实现多种功能.这里我使用了Python调用其API获得了大量的照片数据.需要注意 ...
- 使用python+pychram进行API测试(接口测试)初级STEP 1
花了一天时间安装了解了下最基本的python+pychram进行API测试,下面这个可以指导自己以后入门:基本的开发级别还需要学习 1.python下载地址:https://www.python.or ...
- phoenix 开发API系列(二)phoenix 各类 api 实现方式
概述 上一篇已经提到如何安装以及利用 phoenix framework 来开发一个简单的 api. 接着上次的工程,下面演示如何通过 phoenix framework 来构建各种类型的 api 来 ...
- 免费的无次数限制的各类API接口(2)
之前整理过一些聚合数据上的免费API(各类免费的API接口分享,无限次),这次还有一些其他的进行了整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以 ...
- WEB自动化(Python+selenium)的API
在做Web自动化过程中,汇总了Python+selenium的API相关方法,给公司里的同事做了第二次培训,分享给大家 ...
- 使用sphinx快速为你python注释生成API文档
sphinx简介sphinx是一种基于Python的文档工具,它可以令人轻松的撰写出清晰且优美的文档,由Georg Brandl在BSD许可证下开发.新版的Python3文档就是由sphinx生成的, ...
- 基于python调用libvirt API
基于python调用libvirt API 1.程序代码 #!/usr/bin/python import libvirt import sys def createConnection(): con ...
- python安装包API文档
在python开发过程中,经常会使用第三方包,或者内置的包. 那么这些包,具体有哪些选项,有哪些方法,你知道吗?下面介绍一种万能方法. 使用命令:<注意,命令里python显示的API版本是根据 ...
随机推荐
- JS高级用法
1.重复定时器 setTimeout(function() { // 处理中 setTimeout(arguments.callee, 1000); }, 1000) 这种模式链式调用了 setTim ...
- js动态生成二维码
一.使用jquery.qrcode生成二维码 1.首先在页面中加入jquery库文件和qrcode插件 <script type="text/javascript" src= ...
- .netCore数据库迁移
程序包管理器控制台下Nuget 命令: 初始迁移命令: add-migration init -Context DAL.ProductContext 全称:migrations add Initial ...
- JVM核心之JVM运行和类加载全过程
为什么研究类加载全过程? 有助于连接JVM运行过程 更深入了解java动态性(解热部署,动态加载),提高程序的灵活性 类加载机制 JVM把class文件加载到内存,并对数据进行校验.解析和初始化,最终 ...
- 信号处理引发的cpu高
背景知识: 1.tty 终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备. tty指的是七个alt+crtl+F1~F7.tty1-tty6表示文字界面,可以用Ctrl+Al ...
- JavaScript 变量、类型与计算
变量类型 变量计算 变量 题目: JavaScript 中使用typeof能得到的有哪些类型? ``` 1.1 变量类型 (1).js中的数据类型:字符串.数字.布尔.数组.对象.Null.Undef ...
- python_如何在列表、字典中筛选数据?
实际问题有哪些? 过滤掉列表[3,9,-1,10.-2......] 中负数 筛选出字典{'li_ming':90,'xiao_hong':60,'li_kang':95,'bei_men':98} ...
- Log4j源码解析--核心类解析
原文出处:http://www.blogjava.net/DLevin/archive/2012/06/28/381667.html.感谢上善若水的无私分享. 在简单的介绍了Log4J各个模块类的作用 ...
- 第一个简单的maven项目
学习一个新的东西,最快的方式就是实践.所以我们也不用多说什么了,直接拿一个项目来练手.下面的整理取自maven权威指南,在一堆maven资料中,我觉得这本书写的最好. 简介 我们介绍一个用Maven ...
- re模块与正则表达式
一.正则表达式概念 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),是计算机科 ...