该程序为入门级爬虫,巩固urllib库的基本使用
文章目录
分析步骤具体实现步骤首先,导包1.使用百度搜索任意内容2.分析请求的url地址3.处理参数并发送请求4.保存网页源代码最后附上程序源代码分析步骤
发送一个请求分析获取请求的url地址,参数处理参数并发送请求,获取响应把得到的响应保存文件需求:爬虫实现百度搜索并保存搜索后的网页源代码(第一页)
环境:Python 3.6
使用的库:urllib
使用的工具:Chrome,Pycharm
具体实现步骤
首先,导包
导入后续需要使用到的模块
import urllib.requestimport urllib.parse
1.使用百度搜索任意内容
使用百度搜索得到了发送请求的url地址(这里搜索的是“苹果”)
url = '/s?' # ?后面还有需要添加的参数
2.分析请求的url地址
简单地分析这个url地址后,获取需要用到的参数:ie=utf-8,wd=“搜索的内容”
target = input('请输入需要搜索的内容:') # 定义一个变量获取输入data = {'ie': 'utf-8', # 这个参数经过测试可有可无,保险起见还是加上'wd': target, # 想要搜索的内容}
3.处理参数并发送请求
# 对参数进行编码data = urllib.parse.urlencode(data)# 合并urlurl = url + data# 构造请求对象request = urllib.request.Request(url, headers=headers)# 发送请求response = urllib.request.urlopen(request)
4.保存网页源代码
# 使用'wb'方式保存with open('./result.html', 'wb') as fp:fp.write(response.read())# 如果仅使用'w'方式保存,需要进行解码处理:# fp.write(response.read().decode())
最后附上程序源代码
import urllib.requestimport urllib.parse# 准备需要发送请求的urlurl = '/s?'# 准备请求头headers = {'User-Agent': 'Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Acoo Browser 1.98.744; .NET CLR 3.5.30729)',}# 键盘读取需要搜索的内容target = input('请输入需要搜索的内容:')# url上的一些参数data = {'ie': 'utf-8','wd': target,}# 对参数进行编码data = urllib.parse.urlencode(data)# 合并urlurl = url + data# 构造请求对象request = urllib.request.Request(url, headers=headers)# 发送请求response = urllib.request.urlopen(request)# 保存文件with open('./result.html', 'wb') as fp:fp.write(response.read())
如果觉得《【Python爬虫】模拟百度搜索并保存网页源代码》对你有帮助,请点赞、收藏,并留下你的观点哦!