之前我写了一个小爬虫,将我们院所有老师的基本信息放在了一个Excel里面,不过我偶然发现这个表里面竟然还有所有老师的头像链接,所以就有了这篇教程。

1 问题分析

查看Excel表格,我发现D列全是老师的姓名,E列是(不完整的)头像链接,这真是太方便了。

2 生成头像链接url和文件存放路径path

嘛,没啥好说的,其实这一步可有可没有,但是我怕自己的判断有误,所以就先试一下:

code:

  1. import pandas as pd   
  2. df = pd.read_excel('/Users/sqwqwqw1/Desktop/未命名文件夹/teacher.xls')  
  3. url = 'https://nubs.nju.edu.cn' + df.iat[0,4]  
  4. path = '/Users/sqwqwqw1/Desktop/未命名文件夹/' + df.iat[0,3] + '.jpg'  
  5. print(path)  
  6. print(url)  

output:

  1. /Users/sqwqwqw1/Desktop/未命名文件夹/安同良.jpg  
  2. https://nubs.nju.edu.cn/_upload/article/images/7a/b4/18fb249d44df893e15fe066f6a96/cdfc5610-90b5-455e-9ec1-3513f4037e1a.jpg  

看来图片链接和存放路径都没什么问题,那么我就直接用一个特别简单的循环就可以下载啦!

3 Python编程

code:

  1. import requests  
  2. import pandas as pd   
  3. df = pd.read_excel('/Users/sqwqwqw1/Desktop/未命名文件夹/teacher.xls')  
  4. for i in range(0,len(df)):  
  5.     url = 'https://nubs.nju.edu.cn' + df.iat[i,4]  
  6.     path = '/Users/sqwqwqw1/Desktop/未命名文件夹/' + df.iat[i,3] + '.jpg'  
  7.     r = requests.get(url)  
  8.     with open(path,'wb') as file:  
  9.         file.writelines(r)  
  10.         file.flush  
  11.     file.close  

效果如下: