《老鸟python 系列》视频上线了,全网稀缺资源,涵盖python人工智能教程,爬虫教程,web教程,数据分析教程以及界面库和服务器教程,以及各个方向的主流实用项目,手把手带你从零开始进阶高手之路!点击 链接 查看详情




urllib

阅读:227567602    分享到

我们在浏览器中输入 url 就可以打开一个网页,实际上是我们在自己计算机上的浏览器向这个 url(标志了目标机器和目录)发送了请求信息,然后对方服务器给我们返回信息,我们在浏览器上就可以显示这些信息了,这就是请求,回应,显示整个过程。

urllib 是 Python 解释器中内置的非常方面,好用的网络库,它可以支持多种网络协议进行网络通信。

我们可以通过 urllib 包里面的 request 模块的 urlopen 函数,传入一个 URL,该函数默认采用的协议是 HTTP 协议,我们的浏览器访问网站的过程就是用 HTTP 协议网站服务器通信的过程。当然你也可以把 HTTP 换做 FTP,FILE,HTTPS 等等,只是代表了一种访问控制协议,urlopen 有好多默认参数,我们在本节课介绍一下常用的几个参数。

使用 urllib

我们给 Python 内置的 urllib 包里的 request 模块的 urlopen 函数出入一个 url,就可以模拟浏览器访问这个网页,下面我们爬取 老鸟python 的首页。

from urllib import request

response = request.urlopen("http://47.100.38.27/")
print(response.read())  # 打印

urlopen 还有一个默认参数 timeout,这个参数可以设置访问网站的超时时间。当然我们要确保网站的 url 存在, 如果不存在,超时时间不起作用,则会直接抛出异常;如果访问的 url 存在的话,假如在设置的超时时间内没有打开,则会一直会等到超时时间过去,报异常; 如果访问的 url 存在,并且在超时时间内打开,则正常。

from urllib import request

response = request.urlopen("http://47.100.38.27/", timeout=3)   # 存在,一般瞬间就打开
response = request.urlopen("http://www.google.com", timeout=3)  # 存在,但一般人打不开的 url
response = request.urlopen("http://dajiahaowoxizhazhahui.com", timeout=3)  # 一个不存在的 url

urllib 还有其它更多的模块和函数库,我们在爬虫教程中继续学习,本节课就不在赘述。

本节重要知识点

了解会使用 urllib 访问网站。

查下 urllib 的其它模块和使用方法。

作业

用 urllib 爬取图片,图片网址为: http://47.100.38.27/static/img/python-lession/12/12-1-1.png,并存储在磁盘上。


如果以上内容对您有帮助,请老板用微信扫一下赞赏码,赞赏后加微信号 birdpython 领取免费视频。


登录后评论

user_image
巩朋
2020年6月12日 20:25 回复

了解下网络库为以后学习爬虫打基础


user_image
陈皓
2019年6月17日 13:35 回复

我来报道了,老师好


user_image
一粒鱼蛋
2019年5月29日 05:03 回复

爬虫用的多


user_image
blue-cloud
2019年2月20日 14:58 回复

来打卡