Python爬虫--Urllib基础

1. urlretrieve

Urllib 库也是类似 request 库,用来解析html的

首先讲 urlretrieve 子模块

这个模块的作用是将网页下载到本地

语法: urlretrieve(网址,本地地址)

例如:

这样就可以了,他会将百度网页下载到本地D盘下,

不过图片那些可能下载不到,因为他做了防盗取


import urllib.requesturl = 'https://www.baidu.com/'urllib.request.urlretrieve(url,'D:/')

2. urlcleanup

urlcleanup 用来清除爬虫产生的一些缓存及其他一些杂七杂八的东西

他通常在请求网页的时候使用,

运行时不会有任何提示

例:


import urllib.requesturl = 'https://www.baidu.com/'urllib.request.urlretrieve(url,'D:/')urllib.request.urlcleanup()

3. info()

info() 用来获取网页的简介信息

例:


import urllib.requesturl = 'https://www.baidu.com/'data = urllib.request.urlopen(url)urllib.request.urlcleanup()print(data.info())

效果图:

images


4. getcode()

getcode() 获取状态码


import urllib.requesturl = 'https://www.baidu.com/'data = urllib.request.urlopen(url)urllib.request.urlcleanup()print(data.getcode())>>> 输出 200

5. geturl()

geturl() 获取当前访问网页的url地址

例:


import urllib.requesturl = 'https://www.baidu.com/'data = urllib.request.urlopen(url)urllib.request.urlcleanup()print(data.geturl())>>> 输出 https://www.baidu.com/

6. 超时设置

在我们访问网页的时候,可能会因为各种原因导致访问不成功,

这个原因可能是对方服务器反应慢,或者网速慢之类的问题,

那么我们就需要给代码更多的判断时间,

如果超过这个时间,那么我们就可以认为网页无法访问。

这里我们使用到 timeout() 函数来设置请求时间

它通常会配合 try except 函数一起使用

例:

设置超时时间为 5秒

len() 函数为获取返回长度,

decode() 是解码的意思,有些时候因为编码不同,不解码的话会出错,

第二个参数 ignore ,表示解码失败也强行解码


import urllib.requesttry:url = 'https://www.baidu.com/'data = urllib.request.urlopen(url,timeout=5)urllib.request.urlcleanup() # 清除缓存print(len(data.read().decode("utf-8","ignore")))except Exception as error:print("无法访问 " + str(error))>>> 输出 227

Urllib基础,有些时候没有 request模块方便

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/673336.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用生成式AI重新构想ITSM的未来

对注入 AI 的生成式 ITSM 的需求,在 2023 年 Gartner AI 炒作周期中,生成式 AI 达到预期值达到顶峰后,三分之二的企业已经将生成式 AI 集成到其流程中。 你问为什么这种追求?在预定义算法的驱动下,IT 服务交付和管理中…

stateflow绝对时间逻辑实操

使用after运算符替换at运算符 如果将at运算符与绝对时间-时间逻辑一起使用,则在尝试模拟模型时会出现错误消息。请改用after运算符。 假设您想使用(5.33,秒)的转换来定义时间延迟。 将转换更改为after(5.33秒),如图所示。这样就不报错了。 使用带有后运算符的外部自循…

保姆级在Windows下复现OpenPose+ST-GCN行为识别

前言 具体原理这里不介绍,大家自行查阅,比如Openpose是个啥?ST-GCN又是个啥? 一、默认Openpose已经配置好 二、下面配置ST-GCN 下载stgcn先放着: gitbub上fork后导入到gitee快些: https://github.com/yysijie/st-gcn 也可以直接下…

如何在速卖通(aliexpress)买东西?速卖通(aliexpress)买东西怎么付款?

如何在速卖通购物: 1、注册账户:首先访问速卖通官网或下载速卖通手机应用程序,并注册一个账户。如果您已经有一个账户,直接登录即可。 2、搜索商品:在搜索框中输入您想要购买的商品关键词,然后点击搜索。…

Windows Server安装DHCP和DNS

前言 本期将教大家如何在Windows server上部署DHCP服务和DNS服务,用于模拟给内网主机分配IP地址。虽然用于演示的系统比较老,如果在新版本如Windows server2016、19、22上部署,操作基本一致。在此之前先给大家科普一波理论,需略过…

HarmonyOS实战开发-如何实现Web组件中网页长截图。

介绍 本案例实现了Web组件中网页长截图的方案。支持截图后展示大小浮窗预览、保存图片到相册、手势左滑关闭等功能。 效果图预览 实现思路 本解决方案通过循环滚动Web组件,每次滚动截取当前状态后拼接到离屏画布,最后一次性转为PixelMap图片并显示在全…

电脑实时监控软件分享|好用实时屏幕监控软件有哪些?

在当今数字化工作环境和远程办公日益普及的背景下,电脑实时监控软件成为了企业管理、教育监控、家庭监护等多个领域的必备工具。这些软件不仅能够帮助管理者实时了解员工的工作状态,确保工作效率,还能有效防止数据泄露,保护企业或…

Linux-05

磁盘管理 查看磁盘使用量 df -h dumount /dev/dai /mnt 将外部设备dai挂载到mnt目录下umount 卸载进程管理 ps -a 所有进程 ps -u ps aux|grep redis 常用 查看redis相关的进程kill -9 进程id 结束进程

Eplan带你做项目——如何实现项目的交付

前言 Eplan作为一款专业的电气工程设计软件,不仅在设计阶段为电气工程师提供了强大的绘图、计算、仿真等功能,还具备丰富的数据管理与交换能力,能够便捷、准确地导出软件设计、生产制造所需的数据,实现电气设计与软件设计、生产制…

react antd table 自定义表头功能实现

react antd table 自定义表头功能 Ⅰ- 壹 - 功能展示和使用需求 需求描述 基于antd table 实现 自定义 table 的表头 内容 排序 宽度和顺序等 , 可根据自己的需求自己扩展 github:https://github.com/whqgo/ReactAntdTableCustomHeader 功能展示 Ⅱ - 贰 - 封装思路 Task…

致远M3 Session 敏感信息泄露漏洞复现

0x01 产品简介 M3移动办公是致远互联打造的一站式智能工作平台,提供全方位的企业移动业务管理,致力于构建以人为中心的智能化移动应用场景,促进人员工作积极性和创造力,提升企业效率和效能,是为企业量身定制的移动智慧协同平台。 0x02 漏洞概述 致远M3 server多个日志文…

TCN合集(TCN、TCN-GRU、TCN--GRU--Attention、TCN-Bigru、TCN-BiGRU-Attention)

TCN、TCN-GRU、TCN-GRU-Attention、TCN-BiGRU、TCN-BiGRU-Attention)在结构原理上既有相似之处,也存在一些关键的不同点。以下是对这些模型的异同点以及它们之间优劣性的对比: TCN合集(TCN-GRU、TCN--GRU--Attention、TCN-Bigru等…