一、前言
在Internet surfing的时候,经常会有这样的感叹:有些图片能自动保存到本地多好!省去右键另存为的麻烦,而且可以批量操作。
比如这样:
比如这样:
二、方法
首先观察网站涉及头像的源码,发现头像的网络地址在class = 'pic'的style中,截图如下:
而后想到借助最近一直摸索的Scrapy架构,写一个爬虫程序:先定位到用户主页,利用urllib.request.urlopen头像网址,并将图片信息写到本地。爬取流程如下:
相较于前两战,修改的代码也主要集中于Spider主函数文件,主要增加一个图片下载的函数:
# 下载图片
def imageDownload(self,titlename,url_img):
# print("开始")
file_path = 'E:\Works\image\hunlian'
if not os.path.exists(file_path):
os.mkdir(file_path)
file_path=os.path.join(file_path, titlename +'.jpg')
response = urllib.request.urlopen(url_img)
print("开始下载图片")
print(file_path)
with open(file_path,'wb') as f:
f.write(response.read())
三、效果
运行爬虫程序,便可将头像保存到本地。具体效果图如下:
四、小结
urllib的request模块可以非常方便地抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应,利用response.read()可以获取主体内容。
兵马未动,粮草先行。有了充足有效的数据,才能开展可视化分析。