当前位置: 首页 > news >正文

【爬虫】Requests库的使用

这个库比我们上次说的 urllib 可是要牛逼一丢丢的。通过它我们可以用更少的代码,模拟浏览器操作。
不多说,直接上手代码。

requests 常见用法

mport requests# get请求网站
r = requests.get('https://www.baidu.com/')
# 获取服务器响应文本内容
r.text
# 查看编码格式
r.encoding
# 获取字节响应内容
r.content
# 获取响应码 200
r.status_code
# 获取响应头
r.headers
# 获取 Json 响应内容
r.json()
# 获取 socket 流响应内容
r.raw
r.raw.read(10)
# Post请求  当你想要一个键里面添加多个值的时候
payload_tuples = [('key1', 'value1'), ('key1', 'value2')]
r1 = requests.post('https://httpbin.org/post', data=payload_tuples)
payload_dict = {'key1': ['value1', 'value2']}
r2 = requests.post('https://httpbin.org/post', data=payload_dict)
print(r1.text)
r1.text == r2.text  #  True
# 请求的时候用 json 作为参数
url = 'https://api.github.com/some/endpoint'
payload = {'some': 'data'}
r = requests.post(url, json=payload)
# 上传文件
url = 'https://httpbin.org/post'
files = {'file': open('learn_python3_spider-master/wechat_moment.py', 'rb')}
r = requests.post(url, files=files)
r.text
# 获取 cookie 信息
url = 'http://example.com/some/cookie/setting/url'
r = requests.get(url)
r.cookies['example_cookie_name']
# 发送 cookie 信息
url = 'https://httpbin.org/cookies'
cookies = dict(cookies_are='working')
r = requests.get(url, cookies=cookies)
r.text
# 设置超时
requests.get('https://github.com/', timeout=0.001)# post请求
r = requests.post('https://httpbin.org/post', data = {'key':'value'})# 其它乱七八糟的 Http 请求
r = requests.put('https://httpbin.org/put', data = {'key':'value'})
r = requests.delete('https://httpbin.org/delete')
r = requests.head('https://httpbin.org/get')
r = requests.options('https://httpbin.org/get')

post 和 get 的区别

get请求一般用来请求获取数据,post请求一般作为发送数据到后台,传递数据,创建数据

http://www.lryc.cn/news/133490.html

相关文章:

  • 了解生成对抗网络 (GAN)
  • opencv-人脸关键点定位
  • 言语理解与表达 郭熙(一)
  • 【stable-diffusion使用扩展+插件和模型资源(上】
  • 面试之快速学习STL-无序关联式容器
  • C++线程库
  • 一文看懂群晖 NAS 安装 Mysql 远程访问连接
  • 永久设置pip指定国内镜像源(windows内)
  • 【SA8295P 源码分析】27 - QNX Ethernet MAC 驱动 之 emac_tx_thread_handler 数据发送线程 源码分析
  • 爬虫抓取数据时显示超时,是代理IP质量不行?
  • 【管理运筹学】第 5 章 | 整数规划 (2,割平面法及 0-1 变量的特性)
  • Vscode详细安装教程
  • 法线矩阵推导
  • 对容器、虚拟机和 Docker 的初学者友好介绍
  • linux部署clickhouse(单机)
  • vue组件注册
  • day20 飞机大战射击游戏
  • iOS设计规范是什么?都有哪些具体规范
  • 动手学深度学习-pytorch版本(二):线性神经网络
  • Spark 图计算ONEID 进阶版
  • Comparable和Comparator区别
  • JAVA知识点梳理
  • [SWPUCTF 2022 新生赛]ez_ez_php
  • GraphQL strawberry的使用回顾和体会
  • 08无监督学习——聚类
  • Python使用OpenCV库对彩色图像进行通道分离
  • 前端面试:【CSS】盒模型、选择器、布局、响应式设计、Flexbox 与 Grid
  • 深入浅出通过PHP封装根据商品ID获取抖音商品详情数据方法
  • 排序(七种排序)
  • 【工程优化问题】基于鲸鱼、萤火虫、灰狼优化算法的张力、压缩弹簧设计问题研究(Matlab代码实现)