项目说明
编写一个程序,访问图像共享网站,如Flickr 或Imgur,查找一个类型的照片,
然后下载所有查询结果的图像。可以编写一个程序,访问任何具有查找功能的图像
网站。
此处以百度图库为例进行项目操作。
代码块
#! /usr/bin/env python3
# downloadPic - 利用命令行从百度下载相关的图片到本地硬盘
import sys, time, requests
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://image.baidu.com') # 控制浏览器打开页面
word_elem = browser.find_element_by_xpath('//input[@name="word"]') # 定位搜索框关联的元素
word_elem.send_keys(sys.argv[1]) # 输入命令行中的搜索关键字
word_elem.submit() # 提交表单,搜索
time.sleep(1)
image_elem = browser.find_elements_by_xpath('//div[@class="fc-img"]/a/img') # 查找检索结果的每一幅图片的关联元素
num = 1
for URL in image_elem[:10]: # 循环下载前10张图
res = requests.get(URL.get_attribute('src')) # 获取图片对应的URL
res.raise_for_status()
imgFile = open('image%s.jpg' % num, 'wb') # 写二进制形式打开文件
for chunk in res.iter_content(100000): # 以循环写入的方式将图片保存到本地硬盘
imgFile.write(chunk)
imgFile.close()
num += 1
print('Done!')
time.sleep(1)
browser.close() # 关闭浏览器