python Requests

Requests概述

官方文档:http://cn.python-requests.org/zh_CN/latest/,Requests是python的HTTP的库,我们可以安全的使用

Requests安装

复制代码
pip install Requests -i https://pypi.tuna.tsinghua.edu.cn/simple

Requests的使用

Respose的属性

属性 说明
url 响应的URL
text 响应的内容 (unicode码)
json() 如果响应的结果是一个json对象,可以调用该方法,否则会报错
content 返回响应的内容(字节的形式)
status_code 响应代码,其中200表示响应成功,404表示Not Found等等

Requests GET请求

requests.get()函数将会返回服务器的响应

python 复制代码
import requests

headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36"}
params = {"spm":"1001.2014.3001.5502"}
url = "https://blog.csdn.net/qq_42103091/article/details/123287865"

response = requests.get(url=url, params=params, headers=headers)
# 响应的URL
print(response.url)
# https://blog.csdn.net/qq_42103091/article/details/123287865?spm=1001.2014.3001.5502
# 状态码
print(response.status_code)
# 200

Requests POST请求

倘若需要向服务器上传数据,一般采用POST请求。常见的应用场景为提交HTML表单。

POST请求中的Content-Type用来指示请求正文的数据类型,而Content-Length则指示了请求中的数据长度

python 复制代码
requests.post(url, data, json, headers, proxies, timeout, vertify)
# 参数说明
"""
url: 请求的URL
data: 发送给指定URL的字典、元组列表、字节或文件对象
json: 发送给指定URL的JSON对象
headers、proxies、timeout、vertify: 与get()方法同
"""

发送请求

python 复制代码
import requests
import json

url = "https://httpbin.org/post"

data = {
    "comments": "ceshi", 
    "custemail": "ceshi.com", 
    "custname": "ceshi", 
    "custtel": "ceshi", 
    "delivery": "17:30", 
    "size": "large", 
    "topping": "onion"
}

response = requests.post(url=url, data=data)
print(response.status_code)

# 200
with open("temp.json", "w", encoding="utf-8") as fp:
    json.dump(response.json(), fp, ensure_ascii=False)
相关推荐
jllllyuz1 分钟前
基于MATLAB的D2D通信模式选择仿真
开发语言·网络·matlab
kaikaile19952 分钟前
基于ADMM的TV正则化稀疏重建MATLAB实现
开发语言·matlab
diediedei9 分钟前
C++编译期正则表达式
开发语言·c++·算法
学海无涯书山有路15 分钟前
Android FragmentContainerView 新手详解(Java 版)
android·java·开发语言
XiYang-DING1 小时前
【Java SE】数据类型、变量、类型转换、运算符以及程序逻辑控制
java·开发语言
0思必得01 小时前
[Web自动化] 处理爬虫异常
运维·爬虫·python·selenium·自动化·web自动化
独自破碎E1 小时前
JDK版本的区别
java·开发语言
喵手1 小时前
Python爬虫零基础入门【第九章:实战项目教学·第17节】内容指纹去重:URL 变体/重复正文的识别!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·内容指纹去重·url变体
谦宸、墨白2 小时前
从零开始学C++:二叉树进阶
开发语言·数据结构·c++
喵手2 小时前
Python爬虫零基础入门【第五章:数据保存与入库·第1节】先学最通用:CSV/JSONL 保存(可复现、可分享)!
爬虫·python·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·数据保存与入库·csv/jsonl