1.requests简介
requests是什么?python语言编写的,基于urllib的第三方模块
与urllib有什么关系?urllib是python的内置模块,比urllib更加简洁和方便使用
requests有什么功能?提供一些列操作URL的方法,网页请求,响应信息获取,URL解析等功能
2.安装
通过pip安装
pip install requests
3.使用
主要方法:get,post,put,delete,patch
>>import requests>>response = requests.get('http://www.baidu.com')>>response.status_code # 返回状态码200>>response.encoding #返回网页编码'ISO-8859-1'>>response.apparent_encoding #备选,响应内容的编码格式'utf-8'>>response.url # 返回请求url'http://www.baidu.com/'>>response.headers # 返回头信息{ 'Server': 'bfe/1.0.8.18', 'Date': 'Tue, 20 Mar 2018 14:46:46 GMT', 'Content-Type': 'text/html', 'Last-Modified': 'Mon, 23 Jan 2017 13:27:52 GMT', 'Transfer-Encoding': 'chunked', 'Connection': 'Keep-Alive', 'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 'Pragma': 'no-cache', 'Set-Cookie': 'BDORZ=XXXX; max-age=XXXX; domain=.baidu.com; path=/', 'Content-Encoding': 'gzip'}>>response.cookies # 返回cookie信息>>response.text #以文本形式返回网页源码'\r\n ç\x99¾åº¦ä¸\x80ä¸\x8bï¼\x8cä½\xa0å°±ç\x9f¥é\x81\x93 \r\n'>>response.content #以二进制形式返回内容b'\r\nå\x85³äº\x8eç\x99¾åº¦ About Baidu
©2017 Baidu 使ç\x94¨ç\x99¾åº¦å\x89\x8då¿\x85读 æ\x84\x8fè§\x81å\x8f\x8dé¦\x88 京ICPè¯\x81030173å\x8f·
![]()
\xe7\x99\xbe\xe5\xba\xa6\xe4\xb8\x80\xe4\xb8\x8b\xef\xbc\x8c\xe4\xbd\xa0\xe5\xb0\xb1\xe7\x9f\xa5\xe9\x81\x93 \r\n'\xe5\x85\xb3\xe4\xba\x8e\xe7\x99\xbe\xe5\xba\xa6 About Baidu
©2017 Baidu \xe4\xbd\xbf\xe7\x94\xa8\xe7\x99\xbe\xe5\xba\xa6\xe5\x89\x8d\xe5\xbf\x85\xe8\xaf\xbb \xe6\x84\x8f\xe8\xa7\x81\xe5\x8f\x8d\xe9\xa6\x88 \xe4\xba\xacICP\xe8\xaf\x81030173\xe5\x8f\xb7
![]()
注意:
以上response.text显示的内容会出现蓝色标明的乱码问题,可以通过以下方式解决
response.content.decode("utf-8")
或者将编码方式设置为“utf-8”
response =requests.get("http://www.baidu.com")response.encoding="utf-8"print(response.text)
requests方法的使用格式:requests.get/post/put/delete/patch(url,参数)
参数格式:key = value
常见的参数有:data,headers,cookies,suth,files,timeout,proxies,allow_redirects,verify(value=True/False)
post请求
import requestsdata = { 'username':'John', 'password':'123456' }response = requests.post('http://www.baidu.comt', data=data)
其他的复杂的高级用法后期再补上