如何使用Request方法发送Post请求、JSON文件介绍、Python中的JSON数据以及获取到的JSON数据的解析。

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 如何使用Request方法发送Post请求、JSON文件介绍、Python中的JSON数据以及获取到的JSON数据的解析。

前言


使用接口爬取数据用!


一、Request中的Post方法相关参数介绍以及实战


1-1、Post方法


参数介绍

url: 必填,请求的网址

data: 选填,字典,元组列表,字节或者要发送到URL的文件对象。

json: 可选,发送到指定URL的JSON对象。

files: 可选,要发送到URL的文件字典

allow_redirects:可选。用于启用/禁用重定向的布尔值。

默认True(允许重定向)

auth: 可选。用于启用某种HTTP身份验证的元组。

默认None

cert:可选。指定证书文件或密钥的字符串或元组。

默认None

cookies: 可选。要发送到指定网址的Cookie字典。

默认None

headers:可选。要发送到指定网址的HTTP标头字典。

默认None

proxies: 可选。URL代理协议字典。

默认None

stream: 可选。如果响应应立即下载(False)或流式传输(True)的布尔指示。

默认False

timeout: 可选。一个数字或一个元组,指示等待客户端建立连接和/或发送响应的秒数。

默认值None表示请求将继续,直到连接关闭。

verify: 可选。用于验证服务器TLS证书的布尔值或字符串指示。默认True


1-2、实战

import requests
import configparser
import pprint
import json
url = '这里写具体的url'
    json = {
        '这里写具体要获取的资源,字典格式'
    }
    headers = {
        "User-Agent": '这里写用户代理的一些信息,打开网站,点检查,点网络,点击下边的第一个元素,在请求标头下找到User-Agent贴过来',
        "cookie": '和找到User-Agent方法一样,在下边找到cookie'}
    session = requests.session()
    # 传入相关参数,开始请求
    response = session.post(url=url, json=json , headers=headers)
    pprint.pprint(json.loads(response.text))
    return response


二、JSON文件介绍以及解析

2-1、JSON文件介绍

# JSON格式是网站和API使用的通用标准格式,它是一种数据结构,将对象用文本形式表示出来。
# JSON格式字符串示例:
# JSON数据看起来像是一个Python字典,以键值对的形式传递数据。然而,JSON数据也可以是字符串、数字、布尔值或者是列表。
{
   "name": "United States",
   "population": 331002651,
   "capital": "Washington D.C.",
   "languages": [
  "English",
  "Spanish"
   ]
}
# 在JSON流行之前,XML是更常见的选择,但是看起来相对比较复杂
# XML相同信息示例:
<?xml version="1.0" encoding="UTF-8"?>
<country>
   <name>United States</name>
   <population>331002651</population>
   <capital>Washington D.C.</capital>
   <languages>
       <language>English</language>
       <language>Spanish</language>
   </languages>
</country>

2-2、Python中的JSON模块以及解析JSON数据

# Python原生支持JSON数据,Python Json模块是标准库的一部分。
# 这个JSON模块可以将JSON数据从JSON格式转换为等效的Python对象,例如字典和列表,还可以反向转换。
# 将JSON字符串解析为Python字典(解析为什么格式的数据主要看输入的数据是什么)
# eg:
import json
country = '{"name": "United States", "population": 331002651}'
# loads: 代表的是字符串,loads方法用于读取JSON字符串。
country_dict = json.loads(country)
# country_dict 此时已经是Python字典
# 除了loads()方法,还有load()方法,load()用于读取文件中的JSON数据。load()方法接收一个文件对象并返回解析为Python对象的JSON数据。


2-3、将python对象转换为JSON字符串

# 将Python对象转换为JSON对象也称为序列化或JSON编码。可以使用函数dumps()来实现。
import json
languages = ["English","French"]
country = {
       "name": "Canada",
       "population": 37742154,
       "languages": languages,
       "president": None,
}
country_string = json.dumps(country)
print(country_string)

结果

{"name": "Canada", "population": 37742154, "languages": ["English", "French"],
 "president": null}


三、requests.post()和session.post()的区别

3-1、requests.post用法

import requests
response = requests.post(url=url)

3-2、session.post用法

import requests
session = requests.session()
response = session.post(url=url)
# 获取到cookies
cookie = session.cookies


3-3、区别


requests.post:在调用完成后就关闭了连接,所以cookies就随着connect的消亡而消亡。

session.post:高级用法,未关闭上下文连接,会话一直保持在连接池内,即cookies是一直有效的。


总结


1、request占用资源较少,安全性比较高,但是无法获取到特别多的信息。

2、session相对来说消耗资源较多,安全性相对较低,但是可以获取到更多的信息,例如cookies。

3、request相当于某一次访问的局域变量,session相当于客户端的全局变量。


参考文章:

Python Requests post() 方法.

request和session的区别.

使用Python读取和解析JSON数据教程.

python调用request.post请求与Postman方法.


总结


爱情只会影响我敲代码的速度!




相关文章
|
1月前
|
机器学习/深度学习 存储 算法
解锁文件共享软件背后基于 Python 的二叉搜索树算法密码
文件共享软件在数字化时代扮演着连接全球用户、促进知识与数据交流的重要角色。二叉搜索树作为一种高效的数据结构,通过有序存储和快速检索文件,极大提升了文件共享平台的性能。它依据文件名或时间戳等关键属性排序,支持高效插入、删除和查找操作,显著优化用户体验。本文还展示了用Python实现的简单二叉搜索树代码,帮助理解其工作原理,并展望了该算法在分布式计算和机器学习领域的未来应用前景。
|
23天前
|
数据采集 JSON 测试技术
如何在Python中高效实现CSV到JSON的数据转换
在实际项目中,数据格式转换是常见问题,尤其从CSV到JSON的转换。本文深入探讨了多种转换方法,涵盖Python基础实现、数据预处理、错误处理、性能优化及调试验证技巧。通过分块处理、并行处理等手段提升大文件转换效率,并介绍如何封装为命令行工具或Web API,实现自动化批量处理。关键点包括基础实现、数据清洗、异常捕获、性能优化和单元测试,确保转换流程稳定高效。
144 83
|
12天前
|
JSON API 数据格式
Python 请求微店商品详情数据 API 接口
微店开放平台允许开发者通过API获取商品详情数据。使用Python请求微店商品详情API的主要步骤包括:1. 注册并申请API权限,获得app_key和app_secret;2. 确定API接口地址与请求参数,如商品ID;3. 生成签名确保请求安全合法;4. 使用requests库发送HTTP请求获取数据;5. 处理返回的JSON格式响应数据。开发时需严格遵循微店API文档要求。
|
2天前
|
存储 算法 文件存储
探秘文件共享服务之哈希表助力 Python 算法实现
在数字化时代,文件共享服务不可或缺。哈希表(散列表)通过键值对存储数据,利用哈希函数将键映射到特定位置,极大提升文件上传、下载和搜索效率。例如,在大型文件共享平台中,文件名等信息作为键,物理地址作为值存入哈希表,用户检索时快速定位文件,减少遍历时间。此外,哈希表还用于文件一致性校验,确保传输文件未被篡改。以Python代码示例展示基于哈希表的文件索引实现,模拟文件共享服务的文件索引构建与检索功能。哈希表及其分布式变体如一致性哈希算法,保障文件均匀分布和负载均衡,持续优化文件共享服务性能。
|
8天前
|
数据采集 XML 存储
Python爬虫实战:一键采集电商数据,掌握市场动态!
这个爬虫还挺实用,不光能爬电商数据,改改解析规则,啥数据都能爬。写爬虫最重要的是要有耐心,遇到问题别着急,慢慢调试就成。代码写好了,运行起来那叫一个爽,分分钟几千条数据到手。
|
1月前
|
数据采集 数据安全/隐私保护 Python
从零开始:用Python爬取网站的汽车品牌和价格数据
在现代化办公室中,工程师小李和产品经理小张讨论如何获取懂车帝网站的汽车品牌和价格数据。小李提出使用Python编写爬虫,并通过亿牛云爬虫代理避免被封禁。代码实现包括设置代理、请求头、解析网页内容、多线程爬取等步骤,确保高效且稳定地抓取数据。小张表示理解并准备按照指导操作。
从零开始:用Python爬取网站的汽车品牌和价格数据
|
10天前
|
JSON 监控 API
python语言采集淘宝商品详情数据,json数据示例返回
通过淘宝开放平台的API接口,开发者可以轻松获取商品详情数据,并利用这些数据进行商品分析、价格监控、库存管理等操作。本文提供的示例代码和JSON数据解析方法,可以帮助您快速上手淘宝商品数据的采集与处理。
|
25天前
|
算法 Serverless 数据处理
从集思录可转债数据探秘:Python与C++实现的移动平均算法应用
本文探讨了如何利用移动平均算法分析集思录提供的可转债数据,帮助投资者把握价格趋势。通过Python和C++两种编程语言实现简单移动平均(SMA),展示了数据处理的具体方法。Python代码借助`pandas`库轻松计算5日SMA,而C++代码则通过高效的数据处理展示了SMA的计算过程。集思录平台提供了详尽且及时的可转债数据,助力投资者结合算法与社区讨论,做出更明智的投资决策。掌握这些工具和技术,有助于在复杂多变的金融市场中挖掘更多价值。
47 12
|
16天前
|
数据采集 供应链 API
实战指南:通过1688开放平台API获取商品详情数据(附Python代码及避坑指南)
1688作为国内最大的B2B供应链平台,其API为企业提供合法合规的JSON数据源,直接获取批发价、SKU库存等核心数据。相比爬虫方案,官方API避免了反爬严格、数据缺失和法律风险等问题。企业接入1688商品API需完成资质认证、创建应用、签名机制解析及调用接口四步。应用场景包括智能采购系统、供应商评估模型和跨境选品分析。提供高频问题解决方案及安全合规实践,确保数据安全与合法使用。立即访问1688开放平台,解锁B2B数据宝藏!
|
23天前
|
数据采集 存储 前端开发
用Python抓取亚马逊动态加载数据,一文读懂
用Python抓取亚马逊动态加载数据,一文读懂

热门文章

最新文章