python模拟搜索请求的方法:1、输入“import requests”命令导入模块;2、输入“reqheaders={}”命令并在括号里定义请求头;3、定义post参数并模拟post请求;4、打印服务器返回的状态、内容、URL地址即可。

python如何模拟搜索请求

需要用到第三方module:requests,模拟接口。

#!coding:utf-8
#导入需要的requests
importrequests
#定义请求头
reqheaders={'Content-type':'application/x-www-form-urlencoded',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Host':'www.renren.com','Origin':'http://zhichang.renren.com',
'Referer':'http://zhichang.renren.com',
'User-Agent':'Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.1(KHTML,likeGecko)Chrome/21.0.1180.89Safari/537.1',}
#定义post的参数,requests模块,参数不用编码
reqdata={'email':'xxxx@xxx.com','password':'xxxx','autoLogin':'on',
'origURL':'http://zhichang.renren.com/?login_state=rr','domain':'renren.com'}
#模拟post请求,不让自动重定向
res=requests.post("http://www.renren.com/PLogin.do",data=reqdata,headers=reqheaders,allow_redirects=False)
#模拟post请求,这个是自动重定向
#res=requests.post("http://www.renren.com/PLogin.do",data=reqdata,headers=reqheaders)
#打印服务器返回的状态
print(res.status_code)
#打印服务器返回的内容
print(res.content)
#打印重定向的URL地址
print(res.headers['Location'])
#打印服务器返回的cookie
print(res.headers['Set-Cookie'])

以下是程序的运行结果

302
TheURLhasmoved<ahref="http://zhichang.renren.com/?login_state=rr">here</a>
anonymid=hrt38gcmbjulj4;domain=.renren.com;path=/;expires=Sun,
17-Feb-201911:27:44GMT,_de=97FB170A42B4342D1C47A157AD77AAFC1383380866D39FF5;domain=.renren.com;path=/;
expires=Fri,13-Feb-201511:27:44GMT,p=31991a0a194c34e606ef1263317b06372;domain=renren.com;path=/;
expires=Thu,20-Mar-201411:27:44GMT,ap=229996362;domain=renren.com;path=/;
expires=Thu,20-Mar-201411:27:44GMT,first_login_flag=1;domain=renren.com;path=/,
t=7f5cc046700354f79346b8b51f2361882;domain=.renren.com;path=/,
t=b28114ad2246bad1b6b67f07b3b6c0a3;domain=renren.com;path=/xtalk/,
societyguester=7f5cc046700354f79346b8b51f2361882;domain=.renren.com;path=/,
id=229996362;domain=.renren.com;path=/,xnsid=bb3f9425;domain=.renren.com;path=/,
loginfrom=syshome;domain=.renren.com;path=/