python安装requests库的实例代码
requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多
因为是第三方库,所以使用前需要cmd安装
pipinstallrequests
安装完成后import一下,正常则说明可以开始使用了。
基本用法:
requests.get()用于请求目标网站,类型是一个HTTPresponse类型
importrequests response=requests.get('http://www.baidu.com') print(response.status_code)#打印状态码 print(response.url)#打印请求url print(response.headers)#打印头信息 print(response.cookies)#打印cookie信息print(response.text)#以文本形式打印网页源码 print(response.content)#以字节流形式打印
运行结果:
状态码:200
各种请求方式:
importrequests requests.get('http://httpbin.org/get') requests.post('http://httpbin.org/post') requests.put('http://httpbin.org/put') requests.delete('http://httpbin.org/delete') requests.head('http://httpbin.org/get') requests.options('http://httpbin.org/get')
基本的get请求
importrequests response=requests.get('http://httpbin.org/get')print(response.text)
带参数的GET请求:
第一种直接将参数放在url内
importrequests response=requests.get(http://httpbin.org/get?name=gemey&age=22)print(response.text)
解析json
importrequests response=requests.get('http://httpbin.org/get') print(response.text) print(response.json())#response.json()方法同json.loads(response.text) print(type(response.json()))
案例之一:
importrequests URL='http://ip.taobao.com/service/getIpInfo.php'#淘宝IP地址库API try: r=requests.get(URL,params={'ip':'8.8.8.8'},timeout=1) r.raise_for_status()#如果响应状态码不是200,就主动抛出异常 exceptrequests.RequestExceptionase: print(e) else: result=r.json() print(type(result),result,sep='\n')
使用Requests模块,上传文件也是如此简单的,文件的类型会自动进行处理:
importrequests url='http://127.0.0.1:5000/upload' files={'file':open('/home/lyb/sjzl.mpg','rb')} #files={'file':('report.jpg',open('/home/lyb/sjzl.mpg','rb'))}#显式的设置文件名 r=requests.post(url,files=files) print(r.text)
importrequests url='http://127.0.0.1:5000/upload' files={'file':('test.txt',b'HelloRequests.')}#必需显式的设置文件名 r=requests.post(url,files=files) print(r.text)