requests模块 - get

news/2024/10/13 16:22:22

1、Requests 请求常用

  • url:请求的 url 地址,接口文档标注的接口请求地址。
  • params:请求数据中的链接,常见的一个 get 请求,请求参数都是在 url 地址中。
  • data:请求数据,参数表单的数据格式。
  • json:接口常见的数据请求格式。
  • headers:请求头信息,http 请求中,比如说编码方式等内容添加。
  • cookie:保存的用户登录信息,比如做一些充值功能,但是需要用户已经登录,需要 cookie 信息的请求信息传输。

2、Requests 响应内容

  • r.encoding:获取当前编码。
  • r.encoding = 'utf-8':设置编码
  • r.text:以 encoding 解析返回内容。字符串方式的响应体会自动根据响应头部的字符编码进行解码。
  • r.cookies:返回 cookie。
  • r.headers:以字典对象存储服务器响应头,但是这个字典键名不区分大小写,若键不存在则返回 None。
  • r.json():requests 中内置的 json 解码器,以 json 形式返回。如果返回的内容不是 json 格式的,则解析时会出错。
  • r.content:以字节形式返回。字节形式的响应体,会自动解码 gzip 和 deflate 压缩。

3、平民写法

import requestsurl = 'https://www.baidu.com/s?ie=utf-8&mod=11&isbd=1&isid=ce9a8ff100aa1843&ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=hai&fenlei=256&oq=%25E5%25A4%25A9%25E6%25B6%25AF&rsv_pq=ce9a8ff100aa1843&rsv_t=66a6aZDMvWijVeIOfUCn4ILD2Dik38YoYEkf9D32fcnxNGd03Sm3S%2FMQ6g0&rqlang=cn&rsv_dl=tb&rsv_enter=0&rsv_btype=t&inputT=1805&rsv_sug3=11&rsv_sug1=6&rsv_sug7=100&bs=%E5%A4%A9%E6%B6%AF&rsv_sid=undefined&_ss=1&clist=&hsug=&csor=3&pstg=5&_cr1=32279'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36'
}
response = requests.get(url, headers=headers)
response.encoding = 'utf-8'
html = response.text
print(html)

4、官方写法

爬虫数据库网址:https://spidertools.cn/

import requestsheaders = {"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Accept-Language": "zh-CN,zh;q=0.9","Cache-Control": "max-age=0","Connection": "keep-alive","^Cookie": "BIDUPSID=B20BBF8CADED8C221BE05F1B77C71B33; PSTM=1728719840; BD_UPN=12314753; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BAIDUID=9422DA48AB773E237B906EF401BFC7FF:FG=1; H_PS_PSSID=60852_60619_60886_60875; BA_HECTOR=20a4202h2h8521212la5al2k852kc21jgmord1v; ZFY=y50eczm7S7EFalWbi2zKgGf8i8TJuBn:BzIMShfp6Wjs:C; BAIDUID_BFESS=9422DA48AB773E237B906EF401BFC7FF:FG=1; BD_CK_SAM=1; PSINO=3; delPer=0; baikeVisitId=7e84bf38-2e4e-4576-b20e-b917bb51e415; H_PS_645EC=7c8aGMvh6efFakEHuySOVhWopWm^%^2FKTAGqq2gfn6eGN^%^2FjV8dKUSTY2R34JNk; BDSVRTM=227; COOKIE_SESSION=16869_0_4_2_1_4_1_0_4_3_1_0_0_0_0_0_1728781267_0_1728800566^%^7C5^%^230_0_1728800566^%^7C1^","Sec-Fetch-Dest": "document","Sec-Fetch-Mode": "navigate","Sec-Fetch-Site": "same-origin","Sec-Fetch-User": "?1","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36","^sec-ch-ua": "^\\^Google","sec-ch-ua-mobile": "?0","^sec-ch-ua-platform": "^\\^Windows^^^"
}
url = "https://www.baidu.com/"
params = {"ie": "utf-8","f": "8","rsv_bp": "1","rsv_idx": "1","tn": "baidu","wd": "^%^E6^%^B5^%^B7^%^E8^%^B4^%^BC^%^E7^%^8E^%^8B","fenlei": "256","oq": "^%^25E6^%^25B5^%^25B7^%^25E8^%^25B4^%^25BC^%^25E7^%^258E^%^258B","rsv_pq": "fb5d927b002d11d5","rsv_t": "f64fMZ1xboMNI^%^2FvhKFlFZQPNDfM7tmq9MyPpsh3rSE8bsV2DByLxJc1^%^2BAHQ","rqlang": "cn","rsv_dl": "tb","rsv_enter": "0","rsv_btype": "t","rsv_sug": "1^"
}
response = requests.get(url, headers=headers, params=params)print(response.text)
print(response)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/71106.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Redis 必知概念

Redis 为什么快基于内存实现:Redis 将数据存储在内存中,读写操作不会受到磁盘 IO 速度限制; CPU 不是 Redis 的瓶颈,Redis 的瓶颈在于机器内存的大小或者网络带宽I/O多路复用模型的使用:Redis 线程不会阻塞在某一个特定的客户端请求处理上; 可以同时和多个客户端连接并处…

用sdkman管理多个jdk切换

前言 最近项目前后端进行升级,需要在jdk8和jdk17两个版本切换。最简单的是通过手动切换,但切换过程太繁琐,修改环境变量,达到切换目的。于是尝试其它解决方案,最终确实使用sdkman工具。sdkman 是一款面向Java开发者的命令行工具,旨在简化操作系统上SDKs的管理。支持跨平台…

20242822《Linux内核原理与分析》第三周作业

张晓攀+原创作品转载请注明出处+《Linux内核分析》MOOC课程https://mooc.study.163.com/course/1000029000 一、实验楼上实验二——mykernel实验指导(操作系统是如何工作的) 1.使用实验楼的虚拟机打开shell输入所给命令这段代码的意思是应用一个补丁文件到Linux内核源代码,配…

正义使者其五

最正义的一集\(\Huge{能参加高校校园行,好!}\)

2024-2025-1 20241407《计算机基础与程序设计》第三周学习总结

这个作业属于哪个课程 2024-2025-1计算机基础与程序设计这个作业要求在哪里 2024-2025-1计算机基础与程序设计第三周作业这个作业的目标 学习数字分类与计数法、位置计数法、进制转换、模拟数据与数字数据、压缩与解压、数字化、信息安全作业正文 https://www.cnblogs.com/wang…

TowardsDataScience-博客中文翻译-2019-三十五-

TowardsDataScience 博客中文翻译 2019(三十五)原文:TowardsDataScience Blog 协议:CC BY-NC-SA 4.0如何保护云中的健康数据原文:https://towardsdatascience.com/how-to-secure-health-data-in-the-cloud-541fbdad811a?source=collection_archive---------16-----------…

TowardsDataScience-博客中文翻译-2019-三十三-

TowardsDataScience 博客中文翻译 2019(三十三)原文:TowardsDataScience Blog 协议:CC BY-NC-SA 4.0如何用 Python 编写公平抛硬币的代码原文:https://towardsdatascience.com/how-to-code-a-fair-coin-flip-in-python-d54312f33da9?source=collection_archive---------7…

TowardsDataScience-博客中文翻译-2019-六十-

TowardsDataScience 博客中文翻译 2019(六十)原文:TowardsDataScience Blog 协议:CC BY-NC-SA 4.0堆叠分类器以提高预测性能原文:https://towardsdatascience.com/stacking-classifiers-for-higher-predictive-performance-566f963e4840?source=collection_archive------…