python爬虫03-request库使用02

这篇具有很好参考价值的文章主要介绍了python爬虫03-request库使用02。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

​​​​​​1、requests库使用的通用框架:

2、requests下载图片

3、发送get / post 请求传递参数: 

4、requests库下载视频,并显示进度

5、requests.session进行登录保持

5.1 requests.session的作用和使用场景

5.2 使用方法


基础链接 : 01-python-request库使用01

1、requests库使用的通用框架:

import requests
# 定义一个通用方法:
def get_text_from_web(url):
    headers = {
        # 自己通过浏览器查找替换即可
        "user-Agent":'Mozilla/5.0 (Wi、****** Safari/537.36'
    }
    try:
        resp = requests.get(url,headers=headers,timeout=10)
        resp.raise_for_status()
        resp.encoding = resp.apparent_encoding
        return resp.text
    except Exception as e:
        print("产生异常",e)

# 调用函数:
res = get_text_from_web("https://api.xygeng.cn/one")
print(res)

2、requests下载图片

# requests下载图片.py --- 一次读取,一次写出
# 图片地址:
import requests
img_url1 = "https://tppic.chinaz.net/files/default/imgs/2023-10-27/4d3b05335f9a07d4_big.jpg";
img_url2 = "https://tppic.chinaz.net/files/default/imgs/2023-07-24/07d49ae71be62266_big.jpg"
def downLoad_img(url):
    fileName = url.split('/')[-1]  # 获取文件名字
    headers = {
        'user-Agent': "Mozill ***  Chrome/120.0.0.0 Safari/537.36"
    }
    try:
        resp = requests.get(url, headers=headers)
        resp.raise_for_status()  # 如果响应不是200 抛异常
        with open(fileName, 'wb') as fW:
            fW.write(resp.content)
    except Exception as e:
        print('抛出异常:', e)
    finally:
        print("下载完毕:",fileName)

# 下载两张图片:
downLoad_img(img_url1)
downLoad_img(img_url2)
print("执行完毕")

3、发送get / post 请求传递参数: 

get请求携带数据使用params参数配置:

# 06-requests带参数.py --- 发送get请求
import requests
url = ""
headers={}
params = {}  #使用params传递参数
requests.get(url,headers= "",params=params)

post请求携带数据使用data参数配置:

# 06-requests带参数.py --- 发送post请求
import requests
url = ""
headers = {}
data = {}   # 使用data参数传递字典
requests.post(url, headers="", data=data)

4、requests库下载视频,并显示进度

# time: 2024/1/12 15:01
# author: keep_di
# 07-requests下载视频.py
# 视频地址: 使用图片测试, 注意修改User-Agent 再运行!
import requests
urlVideo = 'https://tppic.chinaz.net/files/default/imgs/2023-07-24/07d49ae71be62266_big.jpg'
def downVideo(url, ):
    headers = {
        "User-Agent": 'Mozilla/ **** Safari/537.36'}
    fileName = url.split('/')[-1]
    try:
        respVideo = requests.get(url, headers=headers, stream=True)
        respVideo.raise_for_status()
        contentLength = int(respVideo.headers['content-length'])
        print(f'视频的字节为{contentLength}')
        buffer_size = 1024 * 8  # 缓存大小,每次读取的字节数
        size_downloaded = 0
        with open(fileName, 'wb') as fp:
            for data in respVideo.iter_content(buffer_size):
                fp.write(data)  # 向文件中写入数据
                size_downloaded += len(data)  # 统计已下载数据大小
                # 格式化显示小数点后两位
                print(f'当前的下载进度:{size_downloaded / contentLength * 100:.2f}%')
        print("下载完成 :" + fileName)
    except Exception as e:
        print("抛出异常:", e)
downVideo(urlVideo)

5、requests.session进行登录保持

requests模块中的session类能够自动处理发送请求获取响应过程中产生的cookie,进而达到状态保持目的。文章来源地址https://www.toymoban.com/news/detail-809988.html

5.1 requests.session的作用和使用场景
  • 作用:自动处理cookie,即 下一次请求会带上前一次的cookie;
  • 场景:先登录,再请求的url地址;登录就使用session去请求,登录成功session就保存了登录状态;
  • 注意:session对象和requests对象的参数要求完全一致;
5.2 使用方法
# 08-requests的登录保持.py
import requests

session = requests.session() # 获取session对象
# 先使用session请求一次,这样cookie就自动保存在了session中!
session.get("url",headers={},...)
# 再请求,就不需要携带cookie参数了!
resp = session.get('url',data={},...)

到了这里,关于python爬虫03-request库使用02的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python爬虫开发基础⑪】requests库概述(GET和POST请求)

    🚀 个人主页 :为梦而生~ 关注我一起学习吧! 💡 专栏 :python网络爬虫从基础到实战 欢迎订阅!后面的内容会越来越有意思~ 💡 往期推荐 : ⭐️前面比较重要的 基础内容 : 【Python爬虫开发基础⑥】计算机网络基础(Web和HTTP) 【Python爬虫开发基础⑦】urllib库的基本使用

    2024年02月12日
    浏览(45)
  • python爬虫request和BeautifulSoup使用

    1.安装request 2.引入库 3.编写代码 发送请求 我们通过以下代码可以打开豆瓣top250的网站 但因为该网站加入了反爬机制,所以我们需要在我们的请求报文的头部加入User-Agent的信息 User-Agent可以通过访问网站时按f12查看获取 我们可以通过response的ok属性判断是否请求成功 此时如果

    2024年02月08日
    浏览(52)
  • 06~12-Esp8266物联网芯片的使用(一)-part02/03-ESP8266开发环境、编程举例

    上一章主要作了芯片介绍,这一章主要作对开发环境的介绍。 认识Arduino Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。

    2024年02月05日
    浏览(48)
  • Python爬虫基础:使用requests模块获取网页内容

    了解如何使用Python中的requests模块进行网页内容获取,包括获取网页步骤、代码实现、状态码查看、提取信息等。

    2024年02月22日
    浏览(88)
  • 【100天精通python】Day42:python网络爬虫开发_HTTP请求库requests 常用语法与实战

    目录 1 HTTP协议 2  HTTP与HTTPS 3 HTTP请求过程  3.1 HTTP请求过程 3.2 GET请求与POST请求

    2024年02月12日
    浏览(62)
  • 【Python爬虫】requests库get和post方法使用

    requests库是一个常用于http请求的模块,性质是和urllib,urllib2是一样的,作用就是向指定目标网站的后台服务器发起请求,并接收服务器返回的响应内容。 1. 安装requests库 使用pip install requests安装 如果再使用pip安装python模块出现timeout超时异常,可使用国内豆瓣源进行安装。

    2024年02月22日
    浏览(43)
  • Python 爬虫的学习 day01 ,爬虫的基本知识, requests 和 charde模块, get函数的使用

    1.1什么是网络爬虫 网络爬虫,又称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 1.2  网络爬虫的特点 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万

    2024年02月15日
    浏览(45)
  • Python爬虫教程:使用requests、wget和urllib3下载图片和PDF文件

    本文介绍了如何使用Python中的requests、wget和urllib3库下载图片和PDF文件,通过示例代码演示了如何通过Selenium定位文件地址后,使用这三种方法进行文件下载操作。

    2024年02月09日
    浏览(73)
  • python 爬虫热身篇 使用 requests 库通过 HTTP 读取网络数据,使用 pandas 读取网页上的表格,使用 Selenium 模拟浏览器操作

    在过去,收集数据是一项繁琐的工作,有时非常昂贵。机器学习项目不能没有数据。幸运的是,我们现在在网络上有很多数据可供我们使用。我们可以从 Web 复制数据来创建数据集。我们可以手动下载文件并将其保存到磁盘。但是,我们可以通过自动化数据收集来更有效地做

    2023年04月08日
    浏览(74)
  • python-网络爬虫.Request

    Request python中requests库使用方法详解: 一简介:         Requests 是Python语言编写,基于urllib,         采用Apache2 Licensed开源协议的 HTTP 库。         与urllib相比,Requests更加方便,处理URL资源特别流畅。         可以节约我们大量的工作,建议爬虫使用Requests库

    2024年02月14日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包