python爬虫———urllibd的基本操作(第十二天)

🎈🎈作者主页: 喔的嘛呀🎈🎈
🎈🎈所属专栏:python爬虫学习🎈🎈
✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨ 

hello,小伙伴们!今天我们来学习urllib库的基本使用以及下载的相关操作.

一、urllib的基本使用

1、Python爬虫中使用urllib库可以实现网页的访问和数据的抓取。下面是一个基本的使用示例,包括了如何使用urllib访问网页和获取网页内容的代码:

from urllib import request

url = '<https://www.example.com>'
response = request.urlopen(url)
html = response.read().decode('utf-8')
print(html)

上面的代码首先导入了**urllib.request模块,然后指定了要访问的网页URL,并使用urlopen()函数打开这个URL。接着使用read()方法读取网页内容,并使用decode('utf-8')**方法将内容解码为字符串。最后打印出网页的HTML内容。

示例:获得百度的网页内容代码

结果展示:

2. 读取响应内容

  • read(): 读取所有响应内容的字节形式。

  • readline(): 读取一行响应内容的字节形式。

  • readlines(): 一行一行读取响应内容,返回一个包含所有行的列表。

3. 其他方法

  • getcode(): 获取响应的状态码。
  • geturl(): 获取响应的URL。
  • getheaders(): 获取响应的Headers信息。
import urllib.request

# (1)定义一个url就是你所要访问的地址
url='<http://www.baidu.com>'

# (2)模拟浏览器向服务器发送信息
response = urllib.request.urlopen(url)

# 读取所有响应内容的字节形式。
print(response.read(6))

# 读取一行
print(response.readline())

二、使用urlretrieve()下载文件

**urlretrieve()函数可以用来下载文件,比如图片、视频等。下面是一个简单的示例,演示如何使用urlretrieve()**下载文件:

(1)下载图片

from urllib import request

url = '<https://www.example.com/image.jpg>'
filename, headers = request.urlretrieve(url, 'image.jpg')
print('Downloaded:', filename)

在这个示例中,urlretrieve()函数会下载url指定的文件,并将其保存为image.jpg。**filename变量将包含保存的文件路径,headers**变量将包含响应的头部信息。

示例:

import urllib.request

url_img='<https://t7.baidu.com/it/u=4162611394,4275913936&fm=193&f=GIF>'

urllib.request.urlretrieve(url_img,filename='dog.jpg')

(2)下载视频

要使用**urlretrieve()**下载视频,只需将视频的URL传递给函数即可。下面是一个示例,演示如何下载视频文件:

from urllib import request

url = '<https://www.example.com/video.mp4>'
filename, headers = request.urlretrieve(url, 'video.mp4')
print('Downloaded:', filename)

在这个示例中,urlretrieve()函数会下载url指定的视频文件,并将其保存为video.mp4。**filename变量将包含保存的文件路径,headers**变量将包含响应的头部信息。

(3)下载百度首页源代码

import urllib.request

url='<http://www.baidu.com>'

urllib.request.urlretrieve(url,'baidu.html')

页面可以正常打开

总结

urllib.request.urlopen() 模拟浏览器向服务器发送请求    
response    服务器返回的数据    
response的数据类型是HttpResponse        
字节‐‐>字符串        
解码decode                
字符串‐‐>字节        
编码encode                
read()       字节形式读取二进制   扩展:rede(5)返回前几个字节        
readline()   读取一行        
readlines()  一行一行读取 直至结束        
getcode()    获取状态码        
geturl()     获取url        
getheaders() 获取headers        
urllib.request.urlretrieve()    
请求网页        
请求图片        
请求视频 

学习 urllib 库的基本使用和下载操作可以帮助我们实现对 URL 的各种操作,包括发送请求、处理响应、构建 URL 等。通过 urllib.request 模块,我们可以发送 HTTP 请求并获取响应,还可以构建请求对象、设置 Headers 等。总的来说,学习 urllib 库可以让我们更加灵活地处理 URL 相关的操作,提高我们的编程效率。

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喔的嘛呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值