学习爬虫,最基本的操作即为模拟浏览器向服务器发出请求,python内置了一个名为urllib的内置HTTP请求库,有了它,我们只需要关心请求的链接是什么,需要传递什么参数,以及设置请求头等其他信息即可。这样,我们就不用深入底层的连接具体是怎样传输和通信(当然,这是站在巨人的肩膀上)。urllib库包含4个模块:
request:urllib的请求模块,模拟发送请求;
error:异常处理模块,用于在请求错误时捕获异常;
parse:提供了URL的一些处理方法,包括拆分,解析,合并等;
robotparser:用于识别网站的robot.txt文件,用于判断网站是否可爬;
1.爬虫的第一步即为向服务器发送请求,request模块提供了皆不能的构造HTTP请求的方法-urlopen()。下面以抓取百度首页为例:
import urllib.request
res=urllib.request.urlopen('https://www.baidu.com')
print(res.read().decode('utf-8'))
运行结果如下:
<html>
<head>
<script>
location.replace(location.href.replace("https://","http://"));
</script>
</head>
<body>
<noscript><meta http-equiv="refresh"