今天我们来介绍近年大火的爬虫工具,需要说明的是,我们今天将主要介绍基于Python的专业工具——requests第三方软件包的基本使用,并且有两个实战例子,其他如八爪鱼采集器、后裔采集器等爬虫软件的使用大家可通过网页教程自行探索!
一、什么是Requests软件包
Requests软件包是目前公认的爬取网页最好的第三方库,主要特点在于超简洁!甚至一行代码就能从网页上获得相关资源,轻轻松松便可掌握掌握定向网络数据爬取的方法。
二、Requests安装
安装方法:直接以管理者身份运行命令提示符,输入pip install requests即可,回车即可。如果你的电脑上没有pip,(啧啧),请上官网http://www.python-requests.org获得帮助。
(emm…开头表扬:我不得不说,这个库的官网实在是太可爱啦!)
三、基本方法介绍
首先介绍,Requests可以实现两个功能:
一是自动爬取html页面
二是自动网络请求提交
requests库主要有7个常用方法:
其中,requests.get() 是获取HTML网页的主要方法,也是我们最常用的方法。以下构造了一个向服务器请求资源的Request对象,其中url为拟获取页面的url链接。
r=requests.get(url)
四、实例演示——爬取百度主页信息
访问百度主页
import requestsr = requests.get(“ http://www.baidu.com”)
检查状态码,若状态码为200则访问成功,否则即为失败
r.status_code
解码,更改为“utf-8”编码(针对Unicode的一种可变长度字符编码)
r.encoding= 'utf-8'
输出网页内容
r.text
此时,便成功抓取了百度首页的内容!
五、实战1 :爬取京东商品信息
在这一例中,我们选择了华为Mate30这一产品,用try/except格式(主要是用于处理程序正常执行过程中出现的一些异常情况),来爬取商品信息。
import request
surl=" https://item.jd.com/100005185603.html"
try:
r=requests.get(url)
r.raise_for_status()
r.encoding=r.Apparent_encoding
print(r.text[:1000])
except:
print ("爬取失败")
以下就是我们的结果啦~
运行结果:
六、实战2:网络图片的爬取和储存
在国家地理中文网中我们选择了如下图片(这张罕见的照片捕捉到了一只喜马拉雅旱獭被一只藏狐吓坏的一幕,照片的拍摄者中国摄影师鲍永清获得了年度野生生物摄影师大赛的最高荣誉。
摄影:鲍永清, WILDLIFE PHOTOGRAPHER OF THE YEAR)。
我们复制了其图片链接,接下来我们将用python将其爬取下来,并保存在C://pics//路径中。
import requestsimport os
url=" http://image.ngchina.com.cn/2019/1016/20191016034112233.jpg "
root="C://pics//"path=root+url.split('/')[-1]
try:
if not os.path.exists(root):
os.mkdir(root)
if not os.path.exists(path):
r=requests.get(url)with open(path,'wb') as f:
f.write(r.content)f.close()print("文件保存成功")
else:
print("文件已存在")
except:
print("爬取失败")