iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python的rllib库你了解吗
  • 868
分享到

python的rllib库你了解吗

2024-04-02 19:04:59 868人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录urllib库作用Urllib 库下的几种模块的基本使用一、urllib.request模块1.功能2.常用方法参数说明:总结urllib库作用 urllib 库 是python

urllib库作用

urllib 库 是python内置的 Http 请求库。urllib 模块提供的上层接口,使访问 www 和 ftp 上的数据就像访问本地文件一样。我们爬取网页的时候,经常需要用到这个库。

Urllib 库下的几种模块的基本使用

一、urllib.request模块

1.功能

urllib.request 模块提供了最基本的构造 HTTP (或其他协议如 FTP)请求的方法,利用它可以模拟浏览器的一个请求发起过程。利用不同的协议去获取 URL 信息。它的某些接口能够处理基础认证 ( Basic Authenticaton) 、redirections (HTTP 重定向)、 Cookies (浏览器 Cookies)等情况。而这些接口是由 handlers 和 openers 对象提供的。

2.常用方法

2.1 urlopen()方法

语法格式:


urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

参数说明:url:需要打开的网址; data: Post 提交的数据, 默认为 None ,当 data 不为 None 时, urlopen() 提交方式为 Post; timeout:设置网站访问超时时间

用例:


import urllib.request# 等价于from urllib import request
response = urllib.request.urlopen('https://www.baidu.com')
print("查看 response 响应信息类型: ",type(response))
page = response.read()
print(page.decode('utf-8'))

说明: 直接使用 urllib.request 模块中的 urlopen方法获取页面,其中 page 数据类型为 bytes 类型,经过 decode 解码 转换成 string 类型。通过输出结果可以 urlopen 返回对象是HTTPResposne 类型对象。

urlopen 返回一个类文件对象,并提供了如下方法:

read() , readline() , readlines() , fileno() , close() :这些方法的使用方式与文件对象完全一样;

info():返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息;可以通过Quick Reference to Http Headers查看 Http Header 列表。

getcode():返回Http状态码。如果是http请求,200表示请求成功完成;404表示网址未找到;

geturl():返回获取页面的真实 URL。在 urlopen(或 opener 对象)可能带一个重定向时,此方法很有帮助。获取的页面 URL 不一定跟真实请求的 URL 相同。

示例:


import urllib.request
response = urllib.request.urlopen('https://Python.org/')
print("查看 response 的返回类型:",type(response))
print("查看反应地址信息: ",response)
print("查看头部信息1(http header):\n",response.info())
print("查看头部信息2(http header):\n",response.getheaders())
print("输出头部属性信息:",response.getheader("Server"))
print("查看响应状态信息1(http status):\n",response.status)
print("查看响应状态信息2(http status):\n",response.getcode())
print("查看响应 url 地址:\n",response.geturl())
page = response.read()
print("输出网页源码:",page.decode('utf-8'))

2.2 Request()方法

使用request()来包装请求,再通过urlopen()获取页面。

语法格式:


urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)

示例:


import urllib.request
url = "https://www.laGou.com/zhaopin/Python/?labelWords=label"
headers = {
'User-Agent':'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWEBKit/537.36 (Khtml, like Gecko) Chrome/63.0.3239.108 Safari/537.36',
'Referer': 'https://www.lagou.com/zhaopin/Python/?labelWords=label',
'Connection': 'keep-alive'
}
req = request.Request(url, headers=headers)
page = request.urlopen(req).read()
page = page.decode('utf-8')
print(page)

参数说明:

User-Agent :这个头部可以携带如下几条信息:浏览器名和版本号、操作系统名和版本号、默认语言。这个数据可以从 网页开发工具上的请求反应信息中获取(浏览器上一般按 F12 打开开发工具)。作用是用于伪装浏览器。

Referer:可以用来防止盗链,有一些网站图片显示来源 https://***.com ,就是检查 Referer 来鉴定的。

Connection:表示连接状态,记录 Session 的状态。

origin_req_host:请求方的 host 名称或者 IP 地址。

unverifiable:指请求无法验证,默认为 False。用户并没有足够的权限来选择接收这个请求结果,例如请求一个 HTML 文档中的图片,但没有自动抓取图像的权限,这时 unverifiable 为 True。

method:指定请求使用的方法,例如 GET、POST、PUT 等。

参考:https://www.jb51.net/article/209542.htm

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: python的rllib库你了解吗

本文链接: https://www.lsjlt.com/news/156115.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python的rllib库你了解吗
    目录urllib库作用Urllib 库下的几种模块的基本使用一、urllib.request模块1.功能2.常用方法参数说明:总结urllib库作用 urllib 库 是Python...
    99+
    2022-11-12
  • Python标准库中的sys你了解吗
    目录sys作用常用变量sys.versionsys.maxsizesys.maxunicodesys.pathsys.platformsys.argvsys.executablesy...
    99+
    2022-11-13
  • python中的getter与setter你了解吗
    目录前言复制型编写使用python的装饰器总结前言 因为java开发的习惯,想要在python开发中使用类似JavaBean的结构。 复制型编写 在python可以直接结合java中...
    99+
    2022-11-13
  • python的函数参数你了解吗
    目录前言位置传参关键字传参默认参数不定长参数混合使用问题创建时引用时总结前言 python参数类型和参数传递形式多样,相对于其他语言python使用会更加灵活。它传参形式一般分为两种...
    99+
    2022-11-13
  • python的字典和集合你了解吗
    目录字典修改字典删除字典元素字典键的特性字典内置函数&方法集合集合的基本操作集合内置方法完整列表总结字典 d = {key1 : value1, key2 : value2,...
    99+
    2022-11-13
  • Python基础中的列表你了解吗
    目录1.列表定义:2.列表创建和删除使用赋值运算符直接创建列表创建空列表创建数值列表删除列表3.访问列表元素练习总结1.列表定义: 形式上,列表的所有元素都放在一对中括号"...
    99+
    2022-11-13
  • Python的ini配置文件你了解吗
    目录INI介绍关于configparserINI文件格式读取配置文件总结INI介绍 INI是英文“初始化”(initialization)的缩写,被用来对操作...
    99+
    2022-11-13
  • Python的列表推导式你了解吗
    目录语法实例总结语法 1.普通 [expression for target in iterable] 2.带条件 [expression for target in iterab...
    99+
    2022-11-13
  • Python的语法基础你真的了解吗
    目录Python语法基础01-Python快速入门U1-定义变量U2-判断语句U3-循环U4-定义函数U5-面向对象U6-引入python文件02-python的三大优点、七大特色U...
    99+
    2022-11-13
  • python的语句结构你真的了解吗
    目录一、程序的组织结构二、顺序结构三、对象的布尔值四、分支结构选择结构单分支结构双分支结构多分支结构嵌套if五、ass空语句pass语句利用对象的布尔值总结一、程序的组织结构 任何简...
    99+
    2022-11-13
  • python进阶之协程你了解吗
    目录协程的定义协程和线程差异协程的标准协程的优点协程的缺点python中实现协程的方式async&await关键字事件循环协程函数和协程对象awaitTask对象asynci...
    99+
    2022-11-13
  • GO语言中的NUMY库,你真的了解吗?
    作为一种高效的编程语言,GO语言在数据科学和机器学习领域中越来越受欢迎。与此同时,许多数据科学家和机器学习工程师都在寻找一种能够简化他们工作流程的库。正是在这样的背景下,NUMY库应运而生。 NUMY库是一个基于GO语言的数学库,它提供了...
    99+
    2023-07-25
    api 异步编程 numy
  • 你了解 Python 异步编程的教程吗?
    Python 是一种高级编程语言,被广泛用于各种领域。Python 语言本身具有很强的可读性和易学性,但是在处理大量数据和网络通信时,传统的同步编程方式会遇到一些困难。异步编程是 Python 中的一种新型编程方式,能够很好地解决这些问题,...
    99+
    2023-10-02
    异步编程 关键字 教程
  • Python 缓存分布式,你真的了解吗?
    在软件开发中,缓存是提高系统性能的重要手段之一。在 Python 中,我们可以使用第三方库来实现缓存功能,例如:redis、memcached、pycache、dogpile.cache 等等。而缓存分布式则是将缓存数据分布在多台机器上,...
    99+
    2023-07-26
    缓存 分布式 学习笔记
  • 你真的了解 Python 在 Linux 中的应用吗?
    Python 是一种高级编程语言,被广泛应用于各种软件开发和数据科学领域。在 Linux 操作系统中,Python 更是成为了必不可少的工具。在本文中,我们将探讨 Python 在 Linux 中的应用,并演示一些常见的代码示例。 Pyth...
    99+
    2023-09-07
    linux shell leetcode
  • SpringCloud的@RefreshScope 注解你了解吗
    目录pom.xmlproperties启动类配置类controller打包springcloud对应的springboot版本参考:总结 spring-boot-starter-ac...
    99+
    2022-11-12
  • Python 和 Git 结合编程,你了解吗?
    在现代软件开发中,版本控制是至关重要的一部分。而Git是目前最受欢迎的版本控制系统之一。同时,Python也是一种非常流行的编程语言,它的简洁性和易读性使其成为许多开发人员的首选语言。在本文中,我们将探讨如何将Python和Git结合使用...
    99+
    2023-09-20
    git 编程算法 linux
  • python闭包和装饰器你了解吗
    目录一、闭包1. 什么是闭包?2. 形成闭包的三个条件(缺一不可)3. 闭包的原理4. 闭包的好处二、装饰器1. 什么是装饰器2. 装饰器有什么用3. 小 练 习三. 编写...
    99+
    2022-11-12
  • python常用内置模块你了解吗
    目录使用模块time-时间模块sys-系统模块random-随时数模块os-操作系统模块总结使用模块 当import一个模块时,自动做三件事: 1. 运行一遍该模块内的所有代码(保证...
    99+
    2022-11-13
  • MySQL的索引你了解吗
    目录一、索引介绍二、索引优缺点三、索引结构1. 经典B+树2. MySQL中B+树索引3. Hash索引4. 为什么InnoDB选择B+树索引?   四、索引分类五、索引语法六、SQ...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作