Python3中urllib库添加请求头的两种方式

 更新时间:2023年10月13日 14:46:11   作者:BinaryMoon  
Python 3中的urllib模块可以用来处理URL,包括下载和上传文件、创建和读取cookie、访问Web API等,本文给大家介绍Python3中urllib库添加请求头的两种方式,感兴趣的朋友一起看看吧

Python3中urllib库添加请求头的两种方式

导入模块

import urllib.request

方法一:build_opener类

link = 'https://movie.douban.com/top250'
#	在这里,必须使用元组或列表的方式定制请求头。
headers = ('user-agent','mozilla/5.0')
opener = urllib.request.build_opener()
#	请求头会以列表包含元组或列表的方式进行保存。
opener.addheaders = [headers]
r = opener.open(link,timeout=10)
#	打印请求状态码,这里返回200,表示请求成功。
print(r.code)

方式二:Request与urlopen类

link = 'https://movie.douban.com/top250'
headers = {'user-agent':'mozilla/5.0'}
'''
使用Request类添加请求头可以不使用headers这个参数。而使用这个类的实例化对象的方法
add_header(key='user-agent',val='mozilla/5.0')
'''
add = urllib.request.Request(url=link,headers=headers)
r = urllib.request.urlopen(url=add,timeout=10)
print(r.code)

在方式二中,urllib库中Request与urlopen两个请求类一起使用的主要原因:

  • Request可以添加请求头,而urlopen不能。
  • urlopen可以对响应对象进行状态码的访问、网页代码的读取等一系列操作。
  • 它们在参数上具有一定的区别。

补充:

python 3的urllib库介绍

Python 3中的urllib模块可以用来处理URL,包括下载和上传文件、创建和读取cookie、访问Web API等。在本文中,我们将详细介绍urllib库中最常用的四个模块:urllib.request、urllib.parse、urllib.error和urllib.robotparser。

一、urllib.request模块

该模块提供了许多功能,如打开URL、读取其中的响应,以及设置请求头等。

打开URL 有两种方法打开URL,分别是使用urllib.request.urlopen()和 urllib.request.Request()。

1.1 使用urllib.request.urlopen()

可以使用urlopen()函数打开一个URL,如果给定了字符串参数,将尝试打开这个URL,并且返回一个 file-like 对象,在此对象上可以执行类似文件的操作。例如:

python
import urllib.request
response = urllib.request.urlopen(‘https://www.example.com/')
print(response.read().decode(‘utf-8'))

此代码将在控制台输出从示例站点获取的HTML内容。

1.2 使用urllib.request.Request()

假设需要传递一些参数、HTTP头等信息,则可以使用Request()方法构造一个请求对象,然后再调用urlopen()发送请求。例如:

python
import urllib.request
req = urllib.request.Request(‘http://www.example.com/', data=b'some_data', headers={‘User-Agent': ‘Mozilla/5.0'})
response = urllib.request.urlopen(req)
print(response.read().decode(‘utf-8'))

这里创建了一个请求对象,其中包含URL、数据(可[Cannot read property ‘status’ of undefined]

到此这篇关于Python3中urllib库的两种添加请求头的方式的文章就介绍到这了,更多相关Python3 urllib库添加请求头内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在Python中使用next()方法操作文件的教程

    在Python中使用next()方法操作文件的教程

    这篇文章主要介绍了在Python中使用next()方法操作文件的教程,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • OpenCV实现相机校正

    OpenCV实现相机校正

    这篇文章主要为大家详细介绍了OpenCV实现相机校正,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • Python如何解决secure_filename对中文不支持问题

    Python如何解决secure_filename对中文不支持问题

    最近使用到了secure_filename,然后悲剧的发现中文居然不展示出来,本文就详细的介绍一下解决方法,感兴趣的可以了解一下
    2021-07-07
  • Python线性点运算数字图像处理示例详解

    Python线性点运算数字图像处理示例详解

    这篇文章主要为大家介绍了数字图像处理基本运算如何用Python详细点运算来处理数字图像有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-09-09
  • python中os模块详解

    python中os模块详解

    os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,如posix或NT系统平台,os模块会根据不同的平台进行相应的操作.本节内容将对os模块提供的函数进行详细的解读.
    2016-10-10
  • 对python修改xml文件的节点值方法详解

    对python修改xml文件的节点值方法详解

    今天小编就为大家分享一篇对python修改xml文件的节点值方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python CSV模块使用实例

    Python CSV模块使用实例

    这篇文章主要介绍了Python CSV模块使用实例,本文将举几个例子来介绍一下Python的CSV模块的使用方法,包括reader、writer、DictReader、DictWriter.register_dialect等,需要的朋友可以参考下
    2015-04-04
  • 基于PyQt5制作一个PDF文件合并器

    基于PyQt5制作一个PDF文件合并器

    PDF文件合并工具是非常好用可以把多个pdf文件合并成一个,本文将利用Python中的PyQT5模块,制作一个简易的PDF文件合并器,感兴趣的可以了解一下
    2022-03-03
  • 如何用 Python 制作一个迷宫游戏

    如何用 Python 制作一个迷宫游戏

    这篇文章主要介绍了如何用 Python 制作一个迷宫游戏,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2021-02-02
  • python写的一个squid访问日志分析的小程序

    python写的一个squid访问日志分析的小程序

    这篇文章主要介绍了python写的一个分析squid访问日志的小程序,本文实现的目标是统计access.log中的ip数目,需要的朋友可以参考下
    2014-09-09

最新评论