使用urllib获取网页源码的基本步骤
# ①定义一个url(就是要访问的网站)
import urllib.request
url='http://www.baidu.com'
# ②模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url)
# ③获取网页源码
content = response.read().decode('utf-8')
# 由于read方法返回的是字节形式的二进制数据
# 所以要用decode把二进制转换成字符串
# ④打印
print(content)
一个类型和六个方法
HTTPResponse类型:
引用上面的response = urllib.request.urlopen(url)
当我们输入print(type(response))
时会得到HTTPResponse。
(记住就好)
①返回多少个字节
content = response.read(5)
会返回五个字节。
②读取一行
content = response.readline()
一行一行读取全部
content = response.readlines()
③返回状态码
print(response.getcode())
如果是200证明逻辑没有错误
④返回url地址
print(response.geturl())
⑤返回头部
print(response.getheaders())
下载
①下载网页
url_page = 'http://www.baidu.com'
urllib.request.urlretrieve(url=url_page,filename='baidu.html')
retrieve后面可以填url_page,也可以填url=url_page,但是我建议填url=url_page,因为有时候我们不知道这个函数后面变量的顺序,而指定了之后就不用在意顺序问题。filename也是一样。
②下载图片
url_img = 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimgsa.baidu.com%2Fexp%2Fw%3D500%2Fsign%3D9a272bb2fa246b607b0eb274dbf91a35%2Fac345982b2b7d0a228da717cc7ef76094b369a3b.jpg&refer=http%3A%2F%2Fimgsa.baidu.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1646832949&t=65f2fcc34b777533ac4e459b8c2c074d'
urllib.request.urlretrieve(url = url_img,filename='鼠鼠.jpg')
#注意图片后缀
③下载视频
url_video = '`https://vd2.bdstatic.com/mda-nb5kfk8mt6tzczqz/cae_h264_nowatermark_delogo/1644158319708262307/mda-nb5kfk8mt6tzczqz.mp4?v_from_s=hkapp-haokan-hnb&auth_key=1644243476-0-0-d02a834babcc165af278a594389aa620&bcevod_channel=searchbox_feed&pd=1&pt=3&logid=2876286481&vid=12306164612244709619&abtest=3000213_1&klogid=2876286481`'
urllib.request.urlretrieve(url = url_video,'女足.mp4')
如何获取网站视频的路径:在视频网站中按f12进入开发者模式,点击左上角的箭头,移到视频的窗口单击,就能在src后面快速找到视频的路径。