@zhengyuhong
2016-03-28T01:45:23.000000Z
字数 2425
阅读 1238
Pocket requests python近期写了一个爬虫脚本爬知乎上的收藏夹问题,本来想通过smtp协议发送链接到add@getpocket.com,但是每日的发信量有限制,因此借助于Pocket Developer API 使用开发接口添加新的网页到我的pocket帐号。
在Pocket开发者页面创建应用,我的应用为testapp
[API概况](https://getpocket.com/developer/docs/overview)
在My Apps选择PLATFORM为WEB对应的consumer_key
testapp Web 52915-d3b657e712e5b97c5c15ddf5
import sysimport requestsreload(sys)sys.setdefaultencoding('utf8')if __name__ == '__main__':app_name = 'testapp'consumer_key = '52915-d3b657e712e5b97c5c15ddf5'hdr = {}hdr['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'hdr['X-Accept'] = 'application/x-www-form-urlencoded'hdr['Host'] = 'getpocket.com'param = {}param['consumer_key'] = consumer_keyparam['redirect_uri'] = 'https://getpocket.com'url = 'https://getpocket.com/v3/oauth/request'r = requests.post(url, data=param, headers=hdr)print r.text#code=f78757af-e838-0864-bece-6d32c8#f78757af-e838-0864-bece-6d32c8 就是对应的request_tokenrequest_token = r.text.split('=')[1]verify_url = 'https://getpocket.com/auth/authorize?request_token=%s&redirect_uri=getpocket.com' % request_tokenprint verify_url
将上述verify_url链接在浏览器中打开,点击“接受”进行授权,允许testapp获取对应帐号的权限
用户验证后,然后将对应的code(request_token)保存,用code获取access_token,然后对code对应的帐号进行增减内容。
获取access_token代码如下:
import sysimport requestsreload(sys)sys.setdefaultencoding('utf8')if __name__ == '__main__':app_name = 'testapp'consumer_key = '52915-d3b657e712e5b97c5c15ddf5'hdr = {}hdr['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'hdr['X-Accept'] = 'application/x-www-form-urlencoded'hdr['Host'] = 'getpocket.com'param = {}code = '4e675a5f-d135-2c7b-c150-9a5e49'url = 'https://getpocket.com/v3/oauth/authorize'param['code'] = codeparam['consumer_key'] = consumer_keyr = requests.post(url, data=param, headers=hdr)print r.text# access_token=ce756104-a463-defb-0b6b-682045&username=zhengyuhong
import sysimport requestsreload(sys)sys.setdefaultencoding('utf8')if __name__ == '__main__':app_name = 'testapp'consumer_key = '52915-d3b657e712e5b97c5c15ddf5'hdr = {}hdr['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'hdr['X-Accept'] = 'application/x-www-form-urlencoded'hdr['Host'] = 'getpocket.com'access_token='ce756104-a463-defb-0b6b-682045'param = {}param['url'] = 'https://www.zhihu.com/question/28116784/answer/46900264'param['tag'] = '知乎,美女'param['access_token'] = access_tokenparam['consumer_key'] = consumer_keyurl = 'https://getpocket.com/v3/add'r = requests.post(url, data=param, headers=hdr)print r.text
