快速爬取一个网页
爬取网页,其实就是通过URL获取网页信息,这段网页信息的实质就是一段附加了JS和CSS的HTML代码。如果把网页比作是一个人,那么HTML就是它的骨架,JS是它的肌肉,CSS是它的衣服。由此看来,网页最重要的数据部分是存在于HTML中的。
urllib库的使用比较简单,接下来,我们使用urllib快速爬取一个网页,具体代码如下:
import urllib.request
# 调用urllib.request库的urlopen方法,并传入一个url
response = urllib.request.urlopen('http://www.baidu.com')
# 使用read方法读取获取到的网页内容
html = response.read().decode('UTF-8')
# 打印网页内容
print(html)
上述代码就是一个简单的爬取网页案例,爬取的网页结果如图1所示。
图1 获取的网页源码
实际上,如果我们在浏览器上打开百度首页,右键选择“查看源代码”,你会发现,跟我们刚才打印出来的是一模一样。也就是说,上述案例仅仅用了几行代码,就已经帮我们把百度首页的全部代码下载下来了。
多学一招:Python2使用的是urllib2库
Python2中使用的是urllib2库来下载网页,该库的用法如下所示:
import urllib2
response = urllib2.urlopen('http://www.baidu.com')
Python3出现后,之前Python2中的urllib2库被移到了urllib.request模块中,之前urllib2中很多函数的路径也发生了变化,希望大家在使用的时候多加注意。