python网络爬虫-使用API之API通用规则

    和大多数网络数据采集的方式不同,API用一套非常标准的规则生成数据,而且生成的数据也是按照非常标准的方式组织的。因为规则很标准,所以一些简单、基本的规则很容易学,也可以帮你快速地掌握任意API的用法。不过并非所有的API都很简单,有些API的规则是比较复杂的,因此第一次使用一个API时,建议阅读文档,无论你对以前用过的API是多么熟悉。

1. 方法

    利用HTTP从网络服务获取信息有四种方式:

  • GET
  • POST
  • PUT
  • DELETE
     GET就是你在浏览器中输入网址浏览网站所做的事情。当你访问http://freegeoip.net/json/50.78.253.58时,就会使用GET方法。可以想象成GET在说:“喂,网络服务器,请按照这个地址发给我信息”。

     POST基本就是当你填写表单或提交表单到网络服务器的后端程序时所做的事情。每次当你登录网站的时候,就是通过用户名和(可能加密的)密码发起一个POST请求。如果你用POST发起一个API请求,相当于说“请把信息保存到你的数据库里”

     PUT在网站交互过程中不常用。但是在API里面时常会用到。PUT请求用来更新一个对象或信息。例如,API可能会要求用POST请求创建新用户,但是如果你要更新老用户的邮箱,就要用PUT请求了。

      DELETE用于删除一个对象。例如,如果我们向http://myapi.com/user/23发出一个DELETE请求,就会删除ID号为23的用户。DELETE方法在公共API中不常用,它们主要用于创建信息,不能随便让一个用户去删除数据库的信息。但是和PUT方法一样,DELETE方法也值得了解一下。

       虽然HTTP规范里还有一些信息处理方式,但是这四种基本是你使用API过程中可能遇到的全部。

2. 验证

      虽然有些API不需要验证操作(也就是任何人都可以使用API,不需要注册),但是很多新式API在使用之前都要求客户验证。有些API要求客户验证是为了计算API调用的费用,或者提供了包月的服务。有些验证是为了“限制”用户使用API(限制每分钟,每小时或每天API调用的次数),或者是限制一部分用户对某种信息或某类API的访问。还有一些API可能不要求验证,但是可能会为了市场营销而跟踪用户的使用行为。

      通常API验证的方法都是使用类似令牌(token)的方式使用,每次API调用都会把令牌传到服务器上。这种令牌要么是用户注册的时候分配给用户,要么就是在用户调用的时候才提供,可能是长期固定的值,也可能使频繁变化的,通过服务器对用户名和密码的组合处理后生成。令牌除了在URL链接中传递,还会通过请求头里的cookie把用户信息传递给服务器。


你可能感兴趣的:(python网络爬虫)