0%

requests带cookie读Excel设代理发请求

requests高级玩法,记录下,以后好找。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#-*-coding:utf-8-*-
import requests, xlrd, json

#将cookies转换成字典形式,cookie为保存的cookie文件,跟程序处在同一路径
def get_cookie():
with open('cookie','r') as f:
cookies={}
for line in f.read().split(';'):
name,value=line.strip().split('=',1) #1代表只分割一次
cookies[name]=value
return cookies

def get_xls_data():
rqapi = xlrd.open_workbook('data.xls') # 获得文件对象
sheet_name = rqapi.sheet_names()[0] # 获取第一个sheet名称
sheet = rqapi.sheet_by_name(sheet_name) # 获取第一个sheet对象
nrow = sheet.nrows # 获取行总数
return nrow,sheet

nrow,sheet = get_xls_data()

s = requests.Session()

for i in range(1, nrow): # 循环每行,并获取每行每列的值,第0行是标题,所以从第一行开始取
row_data = sheet.row_values(i) # 获取第i行的数据
data = json.loads(row_data[0].replace('\'', '"')) #读出来的文本需要转成dict
headers = json.loads(row_data[1].replace('\'', '"'))

url = 'https://xxxxx.xxx/v2/session/?m=post'
data = data
headers = headers
proxies={'http':'xxx.xxx.xxx.xxx:8888','https':'xxx.xxx.xxx.xxx:8888'}
r=s.post(url,headers=headers,data=data, cookies=get_cookie(),proxies=proxies,verify=False)
print r.json()