【实践项目-以百度图库为例】Python+selenium图像网站下载

项目说明

编写一个程序,访问图像共享网站,如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()                                                                # 关闭浏览器

猜你喜欢

转载自blog.csdn.net/simplelearner/article/details/81986304
今日推荐