Python 内置了 requests 模块,该模块主要用来发 送 HTTP 请求,requests 模块比 urllib 模块更简洁。
实例 # 导入 requests 包import requests# 发送请求x = requests.get('https://blog.csdn.net/phlcsdn2023/')# return 网页内容print(x.text)
每次调用 requests 请求之后,会return 一个 response 对象,该对象包含了具体的响应信息。
响应信息如下:
属性或方法 | 说明 |
---|---|
apparent_encoding | 编码方式 |
close() | 关闭与server 的连接 |
content | return 响应的内容,以字节为单位 |
cookies | return 一个 CookieJar 对象,包含了从server 发回的 cookie |
elapsed | return 一个 timedelta 对象,包含了从发送请求到响应到达之间经过的时间量,可以用于测试响应速度。比如 r.elapsed.microseconds 表示响应到达需要多少微秒。 |
encoding | 解码 r.text 的编码方式 |
headers | return 响应头,字典格式 |
history | return 包含请求历史的响应对象列表(url) |
is_permanent_redirect | 如果响应是永久重定向的 url,则return True,否则return False |
is_redirect | 如果响应被重定向,则return True,否则return False |
iter_content() | 迭代响应 |
iter_lines() | 迭代响应的行 |
json() | return 结果的 JSON 对象 (结果需要以 JSON 格式编写的,否则会引发错误) |
links | return 响应的解析头链接 |
next | return 重定向链中下一个请求的 PreparedRequest 对象 |
ok | 检查 "status_code" 的值,如果小于400,则return True,如果不小于 400,则return False |
raise_for_status() | 如果发生错误,方法return 一个 HTTPError 对象 |
reason | 响应状态的描述,比如 "Not Found" 或 "OK" |
request | return 请求此响应的请求对象 |
status_code | return http 的状态码,比如 404 和 200(200 是 OK,404 是 Not Found) |
text | return 响应的内容,unicode 类型数据 |
url | return 响应的 URL |
实例 # 导入 requests 包import requests# 发送请求x = requests.get('https://blog.csdn.net/phlcsdn2023/')# return http 的状态码print(x.status_code)# 响应状态的描述print(x.reason)# return 编码print(x.apparent_encoding)
输出结果请在输出结果查看
200OKutf-8
请求 json 数据文件,return json 内容:
实例 # 导入 requests 包import requests# 发送请求x = requests.get('https://blog.csdn.net/phlcsdn2023/try/ajax/json_demo.json')# return json 数据print(x.json())
输出结果请在输出结果查看
{'name': '网站', 'num': 3, 'sites': [{'name': 'Google', 'info': ['Android', 'Google 搜索', 'Google 翻译']}, {'name': 'phlcsdn2023', 'info': ['phlcsdn2023教程', ‘'phlcsdn2023tool ', 'phlcsdn2023微信']}, {'name': 'Taobao', 'info': ['淘宝', '网购']}]}
requests 方法如下表:
方法 | 描述 |
---|---|
delete(url, args) | 发送 DELETE 请求到指定 url |
get(url, params, args) | 发送 GET 请求到指定 url |
head(url, args) | 发送 HEAD 请求到指定 url |
patch(url, data, args) | 发送 PATCH 请求到指定 url |
post(url, data, json, args) | 发送 POST 请求到指定 url |
put(url, data, args) | 发送 PUT 请求到指定 url |
request(method, url, args) | 向指定的 url 发送指定的请求方法 |
使用 requests.request() 发送 get 请求:
实例 # 导入 requests 包import requests# 发送请求x = requests.request('get', 'https://blog.csdn.net/phlcsdn2023/')# return 网页内容print(x.status_code)
输出结果请在输出结果查看
200
设置请求头:
实例 # 导入 requests 包import requestskw = {'s':'python 教程'}# 设置请求头headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}# params 接收一个字典或者字符串的查询参数,字典类型自动转换为url编码,不需要urlencode()response = requests.get("https://blog.csdn.net/phlcsdn2023/", params = kw, headers = headers)# 查看响应状态码print (response.status_code)# 查看响应头部字符编码print (response.encoding)# 查看完整url地址print (response.url)# 查看响应内容,response.text return 的是Unicode格式的数据print(response.text)
输出结果请在输出结果查看
200UTF-8https://blog.csdn.net/phlcsdn2023/?s=python+%E6%95%99%E7%A8%8B... 其他内容...
post() 方法可以发送 POST 请求到指定 url,一般格式如下:
requests.post(url, data={key: value}, json={key: value}, args)
实例 # 导入 requests 包import requests# 发送请求x = requests.post('https://blog.csdn.net/phlcsdn2023/try/ajax/demo_post.php')# return 网页内容print(x.text)
输出结果请在输出结果查看
本内容是使用 POST 方法请求的。
请求时间:2022-05-26 17:30:47
post 请求带参数:
实例 # 导入 requests 包import requests# 表单参数,参数名为 fname 和 lnamemyobj = {'fname': 'phlcsdn2023','lname': 'Boy'}# 发送请求x = requests.post('https://blog.csdn.net/phlcsdn2023/try/ajax/demo_post2.php', data = myobj)# return 网页内容print(x.text)
输出结果请在输出结果查看
青天大老爷您好,phlcsdn2023Boy,今天过得怎么样?
第1章 Python3 教程 | 第2章 Python3 简介教程 |
---|---|
第3章 Python3 环境搭建教程 | 第4章 Python3 VScode教程 |
第5章 Python3 基础语法教程 | 第6章 Python3 基本数据类型教程 |
第7章 Python3 数据类型转换教程 | 第8章 Python3 推导式教程 |
第9章 Python3 解释器教程 | 第10章 Python3 注释教程 |
第11章 Python3 运算符教程 | 第12章 Python3 数字(Number)教程 |
第13章 Python3 字符串教程 | 第14章 Python3 列表教程 |
第15章 Python3 元组教程 | 第16章 Python3 字典教程 |
第17章 Python3 集合教程 | 第18章 Python3 编程第一步教程 |
第19章 Python3 条件控制教程 | 第20章 Python3 循环语句教程 |
第21章 Python3 迭代器与生成器教程 | 第22章 Python3 函数教程 |
第23章 Python3 数据结构教程 | 第24章 Python3 模块教程 |
第25章 Python3 输入和输出教程 | 第26章 Python3 File教程 |
第27章 Python3 OS教程 | 第28章 Python3 错误和异常教程 |
第29章 Python3 面向对象教程 | 第30章 Python3 命名空间/作用域教程 |
第31章 Python3 标准库概览教程 | 第32章 Python3 实例教程 |
第33章 Python 测验教程 | 第34章 Python3 正则表达式教程 |
第35章 Python3 CGI编程教程 | 第36章 Python3 MySQL(mysql-connector)教程 |
第37章 Python3 MySQL(PyMySQL)教程 | 第38章 Python3 网络编程教程 |
第39章 Python3 SMTP发送邮件教程 | 第40章 Python3 多线程教程 |
第41章 Python3 XML 解析教程 | 第42章 Python3 JSON教程 |
第43章 Python3 日期和时间教程 | 第44章 Python3 内置函数教程 |
第45章 Python3 MongoDB教程 | 第46章 Python3 urllib教程 |
第47章 Python uWSGI 安装配置教程 | 第48章 Python3 pip教程 |
第49章 Python3 operator教程 | 第50章 Python math教程 |
第51章 Python requests教程 | 第52章 Python random教程 |
第53章 Python3 os.replace() 方法教程 |
本文有 phlcsdn2023 原创,欢迎点赞、转载,博客地址:https://blog.csdn.net/phlcsdn2023
- 人生似花,如果错过了春暖时的绽放,那正好开成一树梅花,别怕太晚,别怕寒凉,一路迎难而绽。一月再见,二月你好。
- 当代青年修养中,不可断裂的便是这国学的基石。在这样的文化环境中成长起来,或者将这样的文化滋养融入血液的青年,自能既从容、雅致,又重情厚义。按古人的说法,“其心休休焉,其如有容。”
- 母亲的爱就像那广阔的大海,像那浩瀚的宇宙,永无边际;像那奔腾的河流,永不停息。
- 我们的命运,不是来源于命中注定,而是来源于我们的选择。我们要相信自己的选择,正如真切的相信我们还活着,相信我们触到的墙、树甚至是人都存在于这个世界。
- 年轻的好处,就是可以在没有看清楚这个世界之前,做率性的事。荒唐也好,可笑也好,那都就是无悔的青春。