python模拟搜索请求的方法:1、输入“import requests”命令导入模块;2、输入“reqheaders={}”命令并在括号里定义请求头;3、定义post参数并模拟post请求;4、打印服务器返回的状态、内容、URL地址即可。
需要用到第三方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=/