Django 用户认证 用户 邮箱登录 邮箱注册 ORM or,and,not form.py FORM ModelForm Paginator 分页 HTMl JQuery 定位元素 ajax django切片 restfulapi 跨域 Ubantu Python Mysql Scrapy 爬虫 导出 Python读写 Pycharm 破解 session re sqlit3 生成式 其他 Prism 富文本 CSS Nginx 部署 请求头 抓包 协议 selenium Ubuntu 宝塔 AI Comfy-ui ollama dify open-webui Git docker
requests基本用法
张建行 2019年9月15日 08:23 26 文章标签: Python 爬虫

import requests

# 使用requests发起一个get请求
response = requests.get('http://www.baidu.com')
print(response)
print(type(response))
# 打印此次请求的地址
print(response.url)
# 打印此次请求的请求头
print(response.headers)
# 打印此次请求的cookie信息
print(response.cookies)
for key, value in response.cookies.items():
   print(key, "=", value)
# 打印此次请求的状态码
print(response.status_code)
# 获取网页内容
# text:得到的是字符串
print(response.text)
# content:得到的是二进制数据
print(response.content)

# ------------------使用requests构造一个携带参数的get请求-------------------------
test_url_get = "http://httpbin.org/get"
params = {
   "username": "zhangsan",
   "password": "123456"
}
# 使用requests发送请求如果不设置请求头,则默认的请求头是python-requests/requests版本号
response = requests.get(test_url_get, params=params)
print(response.text)
# 当访问一个网址得到的json字符串,则可以直接调用json()函数,直接将返回的结果转换成字典可以直接解析json就不需要导入json模块,再使用json.loads()来进行转化了
print("===", response.json())
print("+++", type(response.json()))

# -------------------使用requests构造一个携带参数的post请求---------------------------
test_url_post = "http://httpbin.org/post"
data = {
   "name": "lisi",
   "mima": "678910"
}
response = requests.post(test_url_post, data=data)
print(response.text)

# --------------------使用requests设置随机请求头和代理IP----------------------------------
test_url = "http://www.baidu.com"
proxy = {"http": "http://219.141.153.41:80"}
headers = {'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0"}
response = requests.get(test_url, proxies=proxy, headers=headers)
print(response.text)
print(response.request.headers)