文章采集接口(【Python课堂】有过Python()开发经验分享)
优采云 发布时间: 2021-09-17 18:13文章采集接口(【Python课堂】有过Python()开发经验分享)
Get:从服务器获取数据的方法
Post:将数据发送到服务器。例如,将表单提交到服务器进行处理的逻辑
Put:主要用于更新对象或信息,很少使用
删除:从服务器中删除对象
核实
API不能在任何时候被任何人调用。为了确保服务器的安全性或减少资源,我们将限制请求的方法或数量。通常,将对接口进行验证。一般的验证方法是令牌。此令牌通常在用户登录或注册时从服务器生成,然后提供给用户。令牌可以是可变的或不可变的。除了在URL链接中传递令牌外,它还通过请求头中的cookie将用户信息传递给服务器
简单的例子:
token = ""
webRequest = urllib.request.Request("http://myapi.com", headers={"token":token})
html = urlopen(webRequest)
服务器响应
服务器响应的数据格式通常是JSON或XML。目前,使用JSON有很多原因,其中一个原因是JSON文件比完整的XML格式小;再加上网络技术的变化,后端语言越来越多,基本上可以实现接口
API调用的语法也不同,但也有既定的准则。例如,使用get request获取数据时,使用URL path描述要获取的数据范围,查询参数可以用作过滤器或附加请求;还有很多API以文件路径的形式指定API版本、数据格式等属性;其他API以请求参数的形式指定数据格式和API版本:
许多公司或网站都有自己的公共界面,如twitter、谷歌等
解析JSON数据
例如,我们使用get来请求和查看返回的数据。返回:
{"ip":"50.78.253.58","country_code":"US","country_name":"United States","region_code":"MA","region_name":"Massachusetts","city":"Boston","zip_code":"02116","time_zone":"America/New_York","latitude":42.3496,"longitude":-71.0746,"metro_code":506}
现在让我们使用Python来解析。JSON是Python的标准库,不需要额外安装。代码如下:
import json
from urllib.request import urlopen
def getCountry(ipAddress):
res = urlopen("http://freegeoip.net/json/"+ipAddress).read().decode('utf-8')
resJson = json.loads(res)
return resJson.get('country_code')
print(getCountry("22.18.53.22"))
Python使用更灵活的方式将JSON转换为字典,将JSON数组转换为列表,将JSON字符串转换为Python字符串
今天的方法相对简单。哈哈,这么快就结束了。我认为我有发展经验,这是可以忽略的。跟我来,你可以看到文章的更新。欢迎参加讨论
原创博客链接:
欢迎免费加入我的星球,分享,共同成长
知识星球