Python爬虫--Urllib基础

news/2024/9/22 20:57:40/

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.ppmy.cn/news/1457405.html

相关文章

Spring AI

目录 一、Spring AI 1、Spring AI简介 1.1、四次工业革命发展和变革 1.2、什么是人工智能? 1.3、人工智能的发展历程 1.4、什么是大模型? 1.5、如何训练大模型? 一、Spring AI 1、Spring AI简介 Spring AI Java接入人工智能大模型 1.1、四次工业革命发展和变革 人类…

2024年4月17日华为春招实习试题【三题】-题目+题解+在线评测,2024.4.17,华为机试

2024年4月17日华为春招实习试题【三题】-题目题解在线评测 🔮题目一描述:扑克牌消消乐输入描述输出描述样例一样例二Limitation解题思路一:模拟,遇到连续3张相同牌号的卡牌,直接删除解题思路二:栈解题思路三…

pear + pecl 安装php扩展

pear https://pear.php.net/manual/en/installation.getting.php https://pear.php.net/go-pear.phar 让 CMD 支持 utf8 > chcp 65001 卸载 > php go-pear.phar uninstall 安装 > php go-pear.phar system 12 修改 12. Name of configuration file …

利用亚马逊云科技GenAI企业助手Amazon Q Business构建企业代码开发知识库

2024年五一节假日的前一天,亚马逊云科技正式重磅发布了云计算行业期待已久的服务——Amazon Q Business。Amazon Q Business是专为企业用户打造的一个开箱即用的完善而强大企业GenAI助手。企业用户只需要将Amazon Q Business连接到现有的企业内部数据源,…

NumPy及Matplotlib基本用法

NumPy及Matplotlib基本用法 导语NumPy导入与生成算术运算N维数组广播元素访问 Matplotlib简单图案绘制多函数绘制图像显示参考文献 导语 深度学习中经常需要对图像和矩阵进行操作,好在python提供了Numpy和Matplotlib库,前者类似一个已经定义的数组类&am…

RabbitMQ php amqp

Linux debian 安装 Windows php amqp 扩展 PECL :: Package :: amqp 将 php_amqp.dll 复制到 php 的 ext 目录下 将 rabbitmq.4.dll 复制到 c:\windows\system32 目录下 php.ini extensionamqp

汽车早报|赛力斯称就山西M7事故不实信息报案 消息称苹果正接触美国电动车新创 | 最新快讯

中汽协:3月汽车商品进出口总额为238.7亿美元,环比增长19.4% 据中国汽车工业协会整理的海关总署数据显示,截止到今年3月,汽车商品进出口总额同比小幅增长。2024年3月,汽车商品进出口总额为238.7亿美元,环比…

利用干扰源模型确定多通道盲源分离

在现实世界的应用中,通常需要从多个麦克风采集的混合信号中提取出感兴趣的源信号。源分离技术主要有两种范式:波束形成(beamforming)和基于独立成分分析(ICA)的多通道盲音频源分离(MBASS&#x…