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库添加请求头内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • numpy中实现ndarray数组返回符合特定条件的索引方法

    numpy中实现ndarray数组返回符合特定条件的索引方法

    下面小编就为大家分享一篇numpy中实现ndarray数组返回符合特定条件的索引方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python生成随机mac地址的方法

    python生成随机mac地址的方法

    这篇文章主要介绍了python生成随机mac地址的方法,涉及Python操作随机字符串的技巧,需要的朋友可以参考下
    2015-03-03
  • Python利用pdfplumber提取PDF文档中的表格数据并导出

    Python利用pdfplumber提取PDF文档中的表格数据并导出

    pdfplumber是一个功能强大的Python库,可以用于解析PDF文档并提取其中的文本、表格和图像等内容,下面我们就来学习一下如何使用pdfplumber提取PDF表格数据吧
    2023-12-12
  • python实现图像全景拼接

    python实现图像全景拼接

    这篇文章主要为大家详细介绍了python实现图像全景拼接,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 详解DBSCAN算法原理及其Python实现

    详解DBSCAN算法原理及其Python实现

    DBSCAN,即Density-Based Spatial Clustering of Applications with Noise,基于密度的噪声应用空间聚类,本文将详细介绍DBSCAN算法的原理及其Python实现,需要的可以参考下
    2023-12-12
  • Form表单及django的form表单的补充

    Form表单及django的form表单的补充

    这篇文章主要介绍了Form表单及django的form表单的补充,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Pandas中df.loc[]与df.iloc[]的用法与异同 

    Pandas中df.loc[]与df.iloc[]的用法与异同 

    本文主要介绍了Pandas中df.loc[]与df.iloc[]的用法与异同,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 
    2022-07-07
  • 基于Python数据结构之递归与回溯搜索

    基于Python数据结构之递归与回溯搜索

    今天小编就为大家分享一篇基于Python数据结构之递归与回溯搜索,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python3基于OpenCV实现证件照背景替换

    python3基于OpenCV实现证件照背景替换

    这篇文章主要为大家详细介绍了python3基于OpenCV实现证件照背景替换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Python实现将PowerPoint转为HTML格式

    Python实现将PowerPoint转为HTML格式

    有时我们需要将精心设计的PPT发布到网络上以便于更广泛的访问和分享,本文将介绍如何使用Python将PowerPoint转换为HTML格式,需要的可以参考下
    2024-04-04

最新评论