一、爬虫任务
在百度上搜索“小明”,将搜索结果的前三页保存到本地
二、任务分析
- 发送的请求是get请求,请求的url如下:
http://www.baidu.com/s?wd=小明& #第1页
http://www.baidu.com/s?wd=小明&pn=10 #第2页
http://www.baidu.com/s?wd=小明&pn=20 #第3页
- 整体任务是一个循环,循环的变量是pn值,pn的值由当前页码决定。pn=(当前页码-1)*10。
- 每次发送一个请求后,我们需要获取服务器的响应。
- 将响应文件保存在本地
注意点:
- 需要把请求中参数的形式从key-value转换成字符串
- 获取响应文件的二进制形式即可
- 以二进制的形式将响应写入到本地(wb的模式)
二、脚本
import urllib
from urllib import request
#爬取网站,下载网页
def download(url,filename):
print("正在下载"+filename)
httpHandler=request.HTTPHandler()
opener=request.build_opener(httpHandler)
headers={"User-Agent":"Mozilla/5.0 (Win