Python基础 之 Python urllib 3

简介: Python urllib

Python基础 之 Python urllib 3

Python urllib

Python urllib 库用于操作网页 URL,并对网页的内容进行抓取处理。

本文主要介绍 Python3 的 urllib。

urllib 包 包含以下几个模块:

urllib.request - 打开和读取 URL。
urllib.error - 包含 urllib.request 抛出的异常。
urllib.parse - 解析 URL。
urllib.robotparser - 解析 robots.txt 文件。

urllib.request

urllib.request 定义了一些打开 URL 的函数和类,包含授权验证、重定向、浏览器 cookies等。

urllib.request 可以模拟浏览器的一个请求发起过程。

我们可以使用 urllib.request 的 urlopen 方法来打开一个 URL,语法格式如下:

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

url:url 地址。
data:发送到服务器的其他数据对象,默认为 None。
timeout:设置访问超时时间。
cafile 和 capath:cafile 为 CA 证书, capath 为 CA 证书的路径,使用 HTTPS 需要用到。
cadefault:已经被弃用。
context:ssl.SSLContext类型,用来指定 SSL 设置。

实例如下:

实例

from urllib.request import urlopen

myURL = urlopen("https://www.baidu.com/")
print(myURL.read())

以上代码使用 urlopen 打开一个 URL,然后使用 read() 函数获取网页的 HTML 实体代码。

我们在对网页进行抓取时,经常需要判断网页是否可以正常访问,这里我们就可以使用 getcode() 函数获取网页状态码,返回 200 说明网页正常,返回 404 说明网页不存在:

实例

import urllib.request

myURL1 = urllib.request.urlopen("https://www.baidu.com/")
print(myURL1.getcode()) # 200

try:

  myURL2 = urllib.request.urlopen("https: //www.baidu.com/no.html")

except urllib.error.HTTPError as e:

  if e.code == 404:
      print(404)   # 404
目录
相关文章
|
安全 网络安全 数据库
达梦数据库 忘记 SYSDBA 密码 处理方法
达梦数据库支持四种安全验证模式:数据库身份验证、基于操作系统的身份验证、外部身份验证和UKEY验证。当忘记SYSDBA密码时,可通过启用操作系统认证模式来恢复:修改`dm.ini`配置文件启用`ENABLE_LOCAL_OSAUTH = 1`,重启服务后,使用`disql / as sysdba`登录修改密码。之后,禁用操作系统认证,恢复原验证模式,确保数据库安全。
4226 0
|
API C# 开发者
WPF图形绘制大师指南:GDI+与Direct2D完美融合,带你玩转高性能图形处理秘籍!
【8月更文挑战第31天】GDI+与Direct2D的结合为WPF图形绘制提供了强大的工具集。通过合理地使用这两种技术,开发者可以创造出性能优异且视觉效果丰富的WPF应用程序。在实际应用中,开发者应根据项目需求和技术背景,权衡利弊,选择最合适的技术方案。
1010 1
|
数据采集 Web App开发 测试技术
使用Selenium调试Edge浏览器的常见问题与解决方案
在互联网数据采集领域,Selenium常用于自动化网页爬取。针对使用Edge浏览器时遇到的启动远程调试失败、访问受限及代理IP设置等问题,本文提供了解决方案。通过特定命令启动Edge的远程调试模式,并利用Python脚本配合Selenium库,可实现代理IP、User-Agent的设定及Cookie管理等高级功能,有效提升爬虫稳定性和隐蔽性。遵循步骤配置后,即可顺畅执行自动化测试任务。
2908 1
使用Selenium调试Edge浏览器的常见问题与解决方案
|
12月前
|
存储 监控 数据可视化
必看!J 人电商团队圣诞冲刺,哪 6 款办公软件是工作学习效率的神器?
随着圣诞节临近,电商零售行业迎来购物狂欢。高效的团队协作和个人学习效率是关键。本文推荐6款可视化团队协作软件:板栗看板、Asana、Miro、monday.com、Wrike和Notion。这些工具能直观呈现工作流程,促进沟通与协作,提升工作效率。板栗看板任务清晰,Asana规划细致,Miro创意无限,monday.com自动化高效,Wrike资源管理精准,Notion一体化便捷。选择合适的工具,助力团队在圣诞季取得佳绩。
184 1
|
存储 安全 数据中心
【Docker 专栏】Docker 容器与宿主机的资源隔离机制
【5月更文挑战第8天】Docker容器利用Namespace和Cgroups实现资源隔离,保证CPU、内存、网络和存储的独立,提升资源利用率和系统安全性。资源隔离有助于简化应用部署与管理,但也带来资源竞争、监控管理及安全挑战。理解并善用资源隔离机制能实现更高效、安全的容器运行。随着技术进步,Docker容器资源隔离将持续优化。
1279 2
【Docker 专栏】Docker 容器与宿主机的资源隔离机制
vue3打包war压缩包配置
vue3打包war压缩包配置
298 0
|
JavaScript 小程序 Java
高校物品捐赠管理系统|基于springboot高校物品捐赠管理系统设计与实现(源码+数据库+文档)
高校物品捐赠管理系统|基于springboot高校物品捐赠管理系统设计与实现(源码+数据库+文档)
174 0
VC++/Qt Creator内存泄漏检测方法(1):_CrtSetDbgFlag与_CrtDumpMemoryLeaks
VC++/Qt Creator内存泄漏检测方法(1):_CrtSetDbgFlag与_CrtDumpMemoryLeaks
2356 0
|
Linux iOS开发 MacOS
Python 程序编译:Pyinstaller库的使用
Pyinstaller 是一个第三方库,它能够在Windows、Linux、Mac OS X等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。PyInstaller 支持 Python 2.7 和 Python 3.3+。可以在Windows、Mac OS X和Linux上使用,但是并不是跨平台的,而是说你要是希望打包成.exe文件,需要在Windows系统上运行 PyInstaller 打包。
563 0
Python 程序编译:Pyinstaller库的使用
|
关系型数据库 Linux 数据库
visual studio中运行docker支持简记
很久以前学过一段时间的docker,那时装了电脑卡得受不了,学了一会就卸载了,最近电脑又装上了docker,感觉好像没有以前这么卡了,还是同一台电脑surface pro4, 试了一下visual studio中做的网站运行在docker上,下面是一些简记 环境:win10 + docker de...
1614 0