【笔记整理】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 ...
随机推荐
- LSTM推导
LSTM推导 forward propagation def lstm_cell_forward(xt, a_prev, c_prev, parameters): """ ...
- [Python] 今天开始学习Python3了, 纪念一下
#! /usr/bin/env python3 import time print("你好, 请告诉我你的名字.") name = input("名前: ") ...
- Unity 性能优化之Shader分析处理函数ShaderUtil.HasProceduralInstancing: 深入解析与实用案例
Unity 性能优化之Shader分析处理函数ShaderUtil.HasProceduralInstancing: 深入解析与实用案例 点击封面跳转到Unity国际版下载页面 简介 在Unity中, ...
- win如何根据端口号查找并杀死一个线程
查看端口占用 netstat -ano | findstr "端口号" 杀死一个进程 taskkill /pid 进程号 -f
- 聊聊基于Alink库的推荐系统
概述 Alink提供了一系列与推荐相关的组件,从组件使用得角度来看,需要重点关注如下三个方面: 算法选择 推荐领域有很多算法,常用的有基于物品/用户的协同过滤.ALS.FM算法等.对于不同的数据场景, ...
- Docker Compose V2 安装常用数据库MySQL+Mongo
前言 书接上篇:Docker V24 及 Docker Compose V2 的安装及使用 本篇操作都在 centos8 虚拟机 devops01 中进行,并都归属网络:devopsnetwork 主 ...
- .NET Core使用SkiaSharp快速生成二维码( 真正跨平台方案)
前言 在.NET 6之前我们一直是使用QRCoder来生成二维码(QRCoder是一个非常强大的生成二维码的组件,用到了System.Drawing.Common 包),然后从.NET 6开始,当为非 ...
- .NET微服务系列之Saga分布式事务案例实践
自从Wing正式发布以后,很多童鞋反馈对Saga分布式事务比较感兴趣,今天就跟大家分享一下"跨行转账"的分布式事务实践案例,入门使用教程请自行前往Wing官方文档. 假设自己名下有 ...
- 利用ChatGPT提升测试工作效率——测试工程师的新利器(一)
1.前言 随着ChatGPT的爆火,各个行业开始尝试利用ChatGPT来提升工作效率.其中,测试工程师们也开始探索如何应用ChatGPT来加强测试工作.在本文中,我们将从测试工程师的角度出发,探讨Ch ...
- 归并排序 nO(lgn) 审核中
大家好,我是蓝胖子,我一直相信编程是一门实践性的技术,其中算法也不例外,初学者可能往往对它可望而不可及,觉得很难,学了又忘,忘其实是由于没有真正搞懂算法的应用场景,所以我准备出一个系列,囊括我们在日常 ...