如何快速使用urllib爬取网页?

yumo6664个月前 (04-22)技术文章28

什么是urllib?

urllib库是Python内置的HTTP请求库,它可以看做是处理URL的组件集合。urllib库包含了四大模块,具体如下:

  • urllib.request:请求模块
  • urllib.error:异常处理模块
  • urllib.parse:URL解析模块
  • urllib.robotparser:robots.txt解析模块

快速使用urllib爬取网页

爬取网页,其实就是通过URL获取网页信息,这段网页信息的实质就是一段附加了JS和CSS的HTML代码。如果把网页比作是一个人,那么HTML就是它的骨架,JS是它的肌肉,CSS是它的衣服。由此看来,网页最重要的数据部分是存在于HTML中的。

urllib库的使用比较简单,接下来,我们使用urllib快速爬取一个网页,具体代码如下:

importurllib.request
#调用urllib.request库的urlopen方法,并传入一个url
response=urllib.request.urlopen('http://www.baidu.com')
#使用read方法读取获取到的网页内容
html=response.read().decode('UTF-8')
#打印网页内容
print(html)

上述代码就是一个简单的爬取网页案例,爬取的网页结果如图4-1所示。

实际上,如果我们在浏览器上打开百度首页,右键选择“查看源代码”,你会发现,跟我们刚才打印出来的是一模一样。也就是说,上述案例仅仅用了几行代码,就已经帮我们把百度首页的全部代码下载下来了。

多学一招:Python2使用的是urllib2库

Python2中使用的是urllib2库来下载网页,该库的用法如下所示:

importurllib2
response=urllib2.urlopen('http://www.baidu.com')

Python3出现后,之前Python2中的urllib2库被移到了urllib.request模块中,之前urllib2中很多函数的路径也发生了变化,希望大家在使用的时候多加注意。

相关文章

为了周末带女神一起去看电影,我用Python爬取上万部电影的排名

文章目录一、写在前面好不容易女神喊我去看电影,但是她问我准备看什么,那我得好好准备准备~二、准备工作1、使用的软件私信小编01即可获取大量Python学习资源python 3.8 (来源 免费的)Py...

网页代码过滤 轻松获取专辑目录

通过过滤网页代码,可以将网页上显示不全的长文件名列表完整地提取出来。我有一个含有75个视频文件的《中医诊断学》课件,文件名是以01.RMVB、02.RMVB……75.RMVB这种格式命名的。我希望能找...

手把手教你爬取天堂网1920*1080大图片(批量下载)——实战篇

/1 前言/上篇文章 手把手教你爬取天堂网1920*1080大图片(批量下载)——理论篇我们谈及了天堂网站图片抓取的理论,这篇文章将针对上篇文章的未尽事宜进行完善,完成图片的批量抓取。/2 图片网址解...

贼爽,在Github网页版也能用开发工具看源码了

平时大家在Github上找项目的时候经常会需要去看看这个项目的一些代码,如果是明确的想要这个项目,就会下载到本地,然后导入到开发工具中查看。如果不是很明确,只是想了解下,就会直接在网页上进行查看,大家...

软网推荐:滚动截图将超长网页“一网打尽”

网页截图是我们最常使用的一个功能,但是一般网页都会超过一屏的页面。所以按照常规的方法进行截屏操作的话,就不能将所有的内容进行截取操作,往往需要进行几次截屏并进行拼接才可以。其实借助一些软件工具,无需如...

python爬虫:四种数据解析库提取数据速度对比

本文以一个小说网站页面为例,提取里面的网址和各章节的名称将各种数据库解析的速度进行对比,对比对象为以下4种方式:1>>>正则表达式2>>>BeautifulSoup...