需要安装后使用
环境安装:pip install requests
Requests模块是一个用于网络请求的模块,主要用来模拟浏览器发请求。其实类似的模块有很多,比如urllib,urllib2,httplib,httplib2,他们基本都提供相似的功能。但是这些模块都复杂而且差不多过时了,requests模块简单强大高效,使得其在众多网络请求模块中脱引而出。
最常用的就是GET和POST方法
requests.get ()
requests.post ()
requests.put ()
requests.delete ()
requests.head ()
requests.options ()
import requests
r = requests.get('https://www.baidu.com')
print(r)
print(r.headers) # 返回响应头,字典格式
print(r.apparent_encoding) # 编码方式
print(r.content) # 返回响应的内容,以字节为单位
print(r.cookies) # 返回一个 CookieJar 对象,包含了从服务器发回的 cookie
print(r.elapsed) # 返回一个 timedelta 对象,包含了从发送请求到响应到达之间经过的时间量,可以用于测试响应速度。比如 r.elapsed.microseconds 表示响应到达需要多少微秒。
print(r.history) # 返回包含请求历史的响应对象列表(url)
print(r.is_permanent_redirect) # 如果响应是永久重定向的 url,则返回 True,否则返回 False
print(r.is_redirect) # 如果响应被重定向,则返回 True,否则返回 False
print(r.iter_content()) # 迭代响应
print(r.iter_lines()) # 迭代响应的行
#print(r.json()) # 返回结果的 JSON 对象 (结果需要以 JSON 格式编写的,即需要请求json对象,否则会引发错误)
print(r.links) # 返回响应的解析头链接,字典
print(r.next) # 返回重定向链中下一个请求的 PreparedRequest 对象
print(r.ok) # 检查 "status_code" 的值,如果小于400,则返回 True,如果不小于 400,则返回 False
print(r.raise_for_status()) # 如果发生错误,方法返回一个 HTTPError 对象
print(r.reason) # 响应状态的描述,比如 "Not Found" 或 "OK"
print(r.request) # 返回请求此响应的请求对象
print(r.status_code) # 返回 http 的状态码,比如 404 和 200(200 是 OK,404 是 Not Found)
print(r.text) # 返回响应的内容,unicode 类型数据
print(r.url) # 返回响应的 URL
r.close() # 关闭与服务器的连接
print(r)
<Response [200]>
print(r.headers) # 返回响应头,字典格式
{'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 'Connection': 'keep-alive', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html', 'Date': 'Fri, 06 Jan 2023 08:54:55 GMT', 'Last-Modified': 'Mon, 23 Jan 2017 13:24:45 GMT', 'Pragma': 'no-cache', 'Server': 'bfe/1.0.8.18', 'Set-Cookie': 'BDORZ=27315; max-age=86400; domain=.baidu.com; path=/', 'Transfer-Encoding': 'chunked'}
print(r.apparent_encoding) # 编码方式
utf-8
print(r.content) # 返回响应的内容,以字节为单位
b'\r\n \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 \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
\r\n'
print(r.cookies) # 返回一个 CookieJar 对象,包含了从服务器发回的 cookie
<RequestsCookieJar[<Cookie BDORZ=27315 for .baidu.com/>]>
print(r.elapsed) # 返回一个 timedelta 对象,包含了从发送请求到响应到达之间经过的时间量,可以用于测试响应速度。比如 r.elapsed.microseconds 表示响应到达需要多少微秒。
0:00:00.318688
print(r.history) # 返回包含请求历史的响应对象列表(url)
[]
print(r.is_permanent_redirect) # 如果响应是永久重定向的 url,则返回 True,否则返回 False
False
print(r.is_redirect) # 如果响应被重定向,则返回 True,否则返回 False
False
print(r.iter_content()) # 迭代响应
<generator object iter_slices at 0x00000239DB9F2CF0>
print(r.iter_lines()) # 迭代响应的行
<generator object Response.iter_lines at 0x00000239DB9F2CF0>
#print(r.json()) # 返回结果的 JSON 对象 (结果需要以 JSON 格式编写的,否则会引发错误)
#此处报错
print(r.links) # 返回响应的解析头链接,字典
{}
print(r.next) # 返回重定向链中下一个请求的 PreparedRequest 对象
None
print(r.ok) # 检查 "status_code" 的值,如果小于400,则返回 True,如果不小于 400,则返回 False
True
print(r.raise_for_status()) # 如果发生错误,方法返回一个 HTTPError 对象
None
print(r.reason) # 响应状态的描述,比如 "Not Found" 或 "OK"
OK
print(r.request) # 返回请求此响应的请求对象
<PreparedRequest [GET]>
print(r.status_code) # 返回 http 的状态码,比如 404 和 200(200 是 OK,404 是 Not Found)
200
print(r.text) # 返回响应的内容,unicode 类型数据
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/bdorz/baidu.min.css><title>ç™¾åº¦ä¸€ä¸‹ï¼Œä½ å°±çŸ¥é“</title></head> <body link=#0000cc>
你可能感兴趣的:(python,python,开发语言)