【笔记整理】request模块基本使用
基本使用
发送get请求、获取响应各种请求、响应信息
def fun1():
url = "http://www.baidu.com"
resp = requests.get(url)
print(resp)
# 打印时会发现乱码
# 因为resp默认是自动推算编码的,经常会出错
print(resp.text)
# 解决方法一,设置响应的编码
resp.encoding = "utf-8"
print(resp.encoding)
print(resp.text)
# 解决方法二,直接对二进制的响应体进行解码(因为decode方法默认是utf8编码,所以一般如果网站是UTF8编码,此时就会成功解码了!如果GBK请用GBK)
print(resp.content.decode())
## 响应头信息
print(resp.headers)
# 响应状态码
print(resp.status_code)
# 请求对象,请求的信息
print(resp.request)
# 请求的url地址
print(resp.request.url)
# 请求对象中的请求头信息
print(resp.request.headers)
发送时设置请求头
def fun2():
url = "http://www.baidu.com"
# 带了UA去请求和不带UA去请求返回的内容不一样,证明网站都是有检测UA的,以前做易语言POST都做过了....
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0"
}
resp = requests.get(url, headers=headers)
print(resp.content.decode())
设置get请求的查询字符串
假设你的url是:http://www.baidu.com/s?wd=java
def fun1():
# "http://www.baidu.com/s?wd=python"
url = "http://www.baidu.com/s?"
# 带UA
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/104.0"
}
# 通过params参数设置查询字符串
resp = requests.get(url, headers=headers, params={
"wd": "java"
})
# print(resp.content.decode())
# 将响应体写入到文件中
with open("baidu3.html", "w", encoding="utf-8") as f:
f.write(resp.content.decode())
if __name__ == '__main__':
fun1()
【笔记整理】request模块基本使用的更多相关文章
- 运维开发笔记整理-Request对象与Response对象
运维开发笔记整理-Request对象与HttpResponse对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.request对象 1>.什么是request 首先,我 ...
- python自动化测试学习笔记-6urllib模块&request模块
python3的urllib 模块提供了获取页面的功能. urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capat ...
- nodejs爬虫笔记(一)---request与cheerio等模块的应用
目标:爬取慕课网里面一个教程的视频信息,并将其存入mysql数据库.以http://www.imooc.com/learn/857为例. 一.工具 1.安装nodejs:(操作系统环境:WiN 7 6 ...
- Ti CC2540蓝牙模块学习笔记整理
接触CC2540几天,终于有了初步的理解,现将笔记整理如下,只是皮毛,如有错误,还请指正,还有好多没闹明白的地方,以后应该还会继续向里面更新~ 一.整体 1.TI的蓝牙平台支持2种协议栈/应用配置:单 ...
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
- 运维开发笔记整理-django日志配置
运维开发笔记整理-django日志配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Django日志 Django使用python内建的logging模块打印日志,Pytho ...
- 运维开发笔记整理-URL配置
运维开发笔记整理-URL配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.URL路由 对于高质量的Web应用来说,使用简洁,优雅的URL的路由是一个非常值得重视的细节.Dja ...
- 运维开发笔记整理-template的使用
运维开发笔记整理-Django的template的使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在上一篇博客中我们学习了HttpResponse 和JsonResponse方 ...
- Python3学习笔记(urllib模块的使用)转http://www.cnblogs.com/Lands-ljk/p/5447127.html
Python3学习笔记(urllib模块的使用) 1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, ...
- Kafka笔记整理(三):消费形式验证与性能测试
Kafka消费形式验证 前面的<Kafka笔记整理(一)>中有提到消费者的消费形式,说明如下: .每个consumer属于一个consumer group,可以指定组id.group.id ...
随机推荐
- ipmitool配置机器的BMC
一.设置IP地址 1.确定操作对象 #ipmitool mc info 输出中"Device Revision"是命令的操作对象 2.设置BMC IP # ipmitool -I ...
- MindSpore简要性能分析
技术背景 在之前的一篇博客中,我们介绍过MindInsight的安装与使用.不过在前面的文章中,我们主要介绍的是MindInsight与SummaryCollector的配合使用,更多的是用于对结果进 ...
- vue3 + mark.js | 实现文字标注功能
页面效果 具体实现 新增 1.监听鼠标抬起事件,通过window.getSelection()方法获取鼠标用户选择的文本范围或光标的当前位置. 2.通过 选中的文字长度是否大于0或window.get ...
- 第六单元《管理学进展》单元测试 mooc
第六单元<管理学进展>单元测试 返回 本次得分为:10.00/10.00, 本次测试的提交时间为:2020-08-30, 如果你认为本次测试成绩不理想,你可以选择 再做一次 . 1 判断( ...
- 《流畅的Python》 读书笔记 第二章数据结构(2) 231011
2.5 对序列使用+和* 通常 + 号两侧的序列由相同类型的数据所构成,在拼接的过程中,两个被操作的序列都不会被修改,Python 会新建一个包含同样类型数据的序列来作为拼接的结果 +和*都遵循这个规 ...
- P1844 阅览室
此题现有题解较为冗长,因此前来贡献一发最短解. 首先正常的思路是直接按题意模拟.即: 枚举当前时刻 \(T\) 对于每个人,标记该时刻想要拿到的书 根据题目的要求判断冲突情况 对书进行分配 实现起来复 ...
- k8s-1.23.6 安装部署文档(超详细)
一.文档简介 作者:lanjiaxuan 邮箱:lanheader@163.com 博客地址:https://www.cnblogs.com/lanheader/ 更新时间:2022-09-09 二. ...
- 配置Linux使用ssh私钥登录
友情提示,该操作最好先保留密码登录的方式,等测试私钥可以登录了再根据需要关闭密码登录权限,以免引起不必要的麻烦!!! 一.服务器生成公钥和私钥 1.1.生成公钥和私钥 authorized_keys: ...
- 七个很实用的开源项目「GitHub 热点速览」
本周特推的两个项目都是异常实用的项目,一个接棒上周的视频重制项目 video-retalking 这次则是直接将视频替换成另外一个语种:另外一个则是解决日志阅读问题的 tailspin,让你在成千上万 ...
- linux系统centos7安装docker
1.Docker官网安装地址 https://docs.docker.com/engine/install/centos/#prerequisites 2.离线安装下载地址 https://downl ...