1.json
模塊提供了一種很簡單的方式來編碼和解碼JSON數據。 其中兩個主要的函數是 json.dumps()
和 json.loads()
, 要比其他序列化函數庫如pickle的接口少得多。 下面演示如何將一個Python數據結構轉換為JSON:
import json data = { 'name' : 'ACME', 'shares' : 100, 'price' : 542.23 } json_str = json.dumps(data)
下面演示如何將一個JSON編碼的字符串轉換回一個Python數據結構:
data = json.loads(json_str)
2.簡單的get和post請求,使用import requests
import requests response = requests.get('http://httpbin.org/get') print(response.text)
#通過在發送post請求時添加一個data參數,這個data參數可以通過字典構造成 import requests data = { "name":"zhaofan", "age":23 } response = requests.post("http://httpbin.org/post",data=data) print(response.text)
3.GET方法,並且自定義header
# -* - coding: UTF-8 -* - import urllib2 request = urllib2.Request("http://www.baidu.com/") request.add_header('content-TYPE', 'application/x-www-form-urlencoded') response = urllib2.urlopen(request) print response.getcode() print response.geturl() print response.read()
POST方法,並且自定義header
# -* - coding: UTF-8 -* - import urllib2 import urllib request = urllib2.Request("http://passport.cnblogs.com/login.aspx") request.add_header('content-TYPE', 'application/x-www-form-urlencoded') data={"tbUserName":"test_username", "tbPassword":"test_password"} response = urllib2.urlopen(request, urllib.urlencode(data)) print response.getcode() print response.geturl() print response.read()
4.實際測試腳本編寫
# coding:utf-8 import json import urllib2 import requests class AddScores: def __init__(self): pass def getToken(self): # 獲取token值 url1 = 'xxxxx'#url r1 = requests.get(url1) self.tokenObj = json.loads(r1.text)#解碼JSON數據 if self.tokenObj["result"] == "success": print self.tokenObj["token"] else: print "failed" return self.tokenObj["token"] def personMess(self): # 獲取個人信息 url2 = 'xxx' + self.getToken() r2 = requests.post(url2) print r2.text def addSco(self,resId): # 添加分數 data = { "memberId": "xxx", "orgCode": "xxx", "resourceId": resId,#傳參,傳resourceId "configName": "wsp", "resourceType": "wsp" } print "添加分數的請求參數:" print json.dumps(data)#編碼JSON headers = {'Content-Type': 'application/json'} url3 = 'xxx' + self.getToken() re3 = urllib2.Request(url=url3, headers=headers, data=json.dumps(data)) response = urllib2.urlopen(re3) print response.read()
5.讀寫TXT文件
#coding:utf-8 import time from Demo2.token import AddScores class ResId: def getResId(self): file=open('xxxx') # a=file.read() # print a lId= file.readline() lId=lId.strip(',\n') while lId != '':#逐行讀取數據 print lId addScores = AddScores() addScores.getToken() addScores.personMess() addScores.addSco(lId) time.sleep(68) lId = file.readline() print "=============================" ResId().getResId()
詳情參考https://www.cnblogs.com/zhaof/p/6915127.html http://python3-cookbook.readthedocs.io/zh_CN/latest/c06/p02_read-write_json_data.html