【Python】数据请求—Requests库

简介: 【Python】数据请求—Requests库
  1. 安装requests库
    pip install requests or pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

    image.png

Request Demo 2-1 搜狗搜索喜欢的人名资料

import requests
query = input("请输入你喜欢的人名:")
url = f"https://www.sogou.com/web?query={query}"
headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36",
}
resp = requests.get(url,headers=headers)
print(resp.text)

Request Demo 2-2 使用百度翻译

\u表示十六进制

使用json()可将十六进制转化为字符

import requests
url = "https://fanyi.baidu.com/sug"
word = input("请输入你想翻译的单词:")
dat = {
    "kw": word
}
resp = requests.post(url,data=dat)
if resp.status_code == 200:
    print(resp.json())

执行结果:


image.png

Request Demo 2-3 查看豆瓣分类排行榜

之前在python爬虫-Day01里说过客户端渲染,也就是会把网页和数据相分离发送给浏览器,浏览器再将两者结合进行渲染,一般第一次服务器会发送一个网页框架,第二次会发送数据文件,这里在谷歌里面有一个筛选机制可以将第二次发送的文件直接筛选出来提高效率,一般是AJAX请求的数据

All.png

XHR.png

查看的URL如下:

url = "https://movie.douban.com/j/chart/top_list?type=24&interval_id=100%3A90&action=&start=0&limit=20"

但是我们会发现这个链接里跟了问号,后面含有一连串的参数,其实这个参数呢经过浏览器封装可以形成一个字典,然后自动拼接,如下所示:

url = "https://movie.douban.com/j/chart/top_list"
params = {
    "type": "24",
    "interval_id": "100:90",
    "action": "",
    "start": 0,
    "limit": 20
}

源代码如下:

import requests
# url = "https://movie.douban.com/j/chart/top_list?type=24&interval_id=100%3A90&action=&start=0&limit=20"
url = "https://movie.douban.com/j/chart/top_list"
params = {
    "type": "24",
    "interval_id": "100:90",
    "action": "",
    "start": 0,
    "limit": 20
}
headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"
}
res = requests.get(url=url,params=params,headers=headers)
print(res.json())

运行结果如下:


image.png

注意

# 关闭res,防止因为请求次数过多而出错
res.close()
目录
相关文章
|
15天前
|
XML JSON 数据库
Python的标准库
Python的标准库
136 77
|
9天前
|
存储 应用服务中间件 开发工具
对象存储OSS-Python设置代理访问请求
通过 Python SDK 配置 nginx 代理地址请求阿里云 OSS 存储桶服务。示例代码展示了如何使用 RAM 账号进行身份验证,并通过代理下载指定对象到本地文件。
53 15
|
1天前
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
10天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
38 7
|
16天前
|
XML JSON 数据库
Python的标准库
Python的标准库
44 11
|
16天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
59 8
|
22天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
24天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
34 4
|
1天前
|
JSON 前端开发 JavaScript
Python中如何判断是否为AJAX请求
AJAX请求是Web开发中常见的异步数据交互方式,允许不重新加载页面即与服务器通信。在Python的Django和Flask框架中,判断AJAX请求可通过检查请求头中的`X-Requested-With`字段实现。Django提供`request.is_ajax()`方法,Flask则需手动检查该头部。本文详解这两种框架的实现方法,并附带代码示例,涵盖安全性、兼容性、调试及前端配合等内容,帮助开发者提升Web应用性能与用户体验。
17 0
|
JSON 测试技术 数据格式
python接口自动化测试 - requests库的post请求进行文件上传
python接口自动化测试 - requests库的post请求进行文件上传
827 0
python接口自动化测试 - requests库的post请求进行文件上传