一:简介

通过selenium模块,模拟火狐浏览器进行搜索下载操作。

二:脚本内容

# -*- coding:utf-8 -*-

# 百度图片自动爬去
# Chrome浏览器类似,设置其options:
# download.default_directory:设置下载路径
# profile.default_content_settings.popups:设置为 0 禁止弹出窗口 import time
from selenium import webdriver # 创建一个浏览器的profile文件
profile = webdriver.FirefoxProfile()
# 指定下载路径
profile.set_preference('browser.download.dir',"D:\\images")
# 设置成 2 表示使用自定义下载路径;设置成 0 表示下载到桌面;设置成 1 表示下载到默认路径
profile.set_preference('browser.download.folderList', 2)
# 是否弹出下载管理器
profile.set_preference('browser.download.manager.showWhenStarting', False)
# 指定下载文件的数据类型
profile.set_preference('browser.helperApps.neverAsk.saveToDisk','image/jpeg, image/png') # 打开火狐浏览器,并指定profile文件
firfox = webdriver.Firefox(firefox_profile=profile)
# 访问百度
firfox.get("http://www.baidu.com")
# 清除百度搜索框,元素id为f12查看
firfox.find_element_by_id("kw").clear()
# 发送内容到搜索框
firfox.find_element_by_id("kw").send_keys(u"美女")
time.sleep(2)
# 点击百度一下按钮
firfox.find_element_by_id("su").click()
time.sleep(5)
# 对当前页面进行定位(不一定生效)
firfox.current_window_handle
# 根据xpath定位
firfox.find_element_by_xpath("//*[@id=\"s_tab\"]/a[5]").click()
time.sleep(3)
firfox.current_window_handle
# 根据xpath定位
firfox.find_element_by_xpath("//*[@id=\"imgid\"]/div/ul/li[1]/div[1]/a/img").click()
time.sleep(3)
# 加载当前页面的元素
firfox.switch_to_window(firfox.window_handles[1])
while True: #firfox.find_element_by_xpath("//html/body/div[1]/div[2]/div/div[2]/div/div[1]/span[7]").click()
# 根据class进行定位,也就是点击下载按钮
firfox.find_element_by_class_name(r"bar-btn.btn-download").click()
time.sleep(10)
# 切换图片
firfox.find_element_by_xpath("//*[@id=\"container\"]/span[2]").click()
time.sleep(10)
firfox.quit()

selenium爬取百度图片的更多相关文章

  1. selenium+chrome浏览器驱动-爬取百度图片

    百度图片网页中中,当页面滚动到底部,页面会加载新的内容. 我们通过selenium和谷歌浏览器驱动,执行js,是浏览器不断加载页面,通过抓取页面的图片路径来下载图片. from selenium im ...

  2. 百度图片爬虫-python版-如何爬取百度图片?

    上一篇我写了如何爬取百度网盘的爬虫,在这里还是重温一下,把链接附上: http://www.cnblogs.com/huangxie/p/5473273.html 这一篇我想写写如何爬取百度图片的爬虫 ...

  3. python 3 爬取百度图片

    python 3 爬取百度图片 学习了:https://blog.csdn.net/X_JS612/article/details/78149627

  4. Python 爬虫实例(1)—— 爬取百度图片

    爬取百度图片  在Python 2.7上运行 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Author: loveNight import jso ...

  5. python爬虫-爬取百度图片

    python爬虫-爬取百度图片(转) #!/usr/bin/python# coding=utf-8# 作者 :Y0010026# 创建时间 :2018/12/16 16:16# 文件 :spider ...

  6. python 利用selenium爬取百度文库的word文章

    今天学习如何使用selenium库来爬取百度文库里面的收费的word文档 from selenium import webdriver from selenium.webdriver.common.k ...

  7. Python爬虫:通过关键字爬取百度图片

    使用工具:Python2.7 点我下载 scrapy框架 sublime text3 一.搭建python(Windows版本) 1.安装python2.7 ---然后在cmd当中输入python,界 ...

  8. python爬虫之爬取百度图片

    ##author:wuhao##爬取指定页码的图片,如果需要爬取某一类的所有图片,整体框架不变,但需要另作分析#import urllib.requestimport urllib.parseimpo ...

  9. Java爬取 百度图片Google图片Bing图片

    先看看抓取的结果. 8个Java类: Startup.java - main函数 ImageCrawler.java - Crawler基类 BaiduImageCrawler.java - 百度图片 ...

随机推荐

  1. selenium与表格的二三事

    今天遇到的问题是selenium与表格中行和列的问题! 我想要做的事情是统计当前的table有多少行,表格形式如下如所示: 图中所示为2行,我的定位方式是这样的 : table=driver.find ...

  2. 2.1synchronized同步方法

    由前言: 在第一章已经出现了非线程安全的情况."非线程安全"其实会发生在多个线程同时对同一个对象中的实例变量进行访问时发生.产生的结果就是脏读(读到被修改过的数据). " ...

  3. java 之 抽象工厂模式(大话设计模式)

    看了几次抽象工厂模式,每次查看都需要重新理解一次,可能是涉及的类和接口比较多,所以比较难缕清的关系吧!在笔者看来,我们还是要吸取其思想而不是生搬硬套. 来看下类图: 大话设计模式-类图 看类图已经很乱 ...

  4. 【转】Swig 使用指南

    原文链接:https://www.cnblogs.com/elementstorm/p/3142644.html 如何使用 API swig.init({ allowErrors: false, au ...

  5. SSL/TLS 握手过程详解

    在现代社会,互联网已经渗透到人们日常生活的方方面面,娱乐.经济.社会关系等都离不开互联网的帮助.在这个背景下,互联网安全就显得十分重要,没有提供足够的安全保障,人们是不会如此依赖它的.幸运的是,在大牛 ...

  6. Python面向对象解析

    面向对象概述 什么是面向对象:从简单来说,如果程序中的所有功能都是用 类 和 对象 来实现,那么就是面向对象编程了. 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无 ...

  7. 1、C#基础 - C# 语言简介

    C# 语言和 .NET Framework 介绍 C# 是类型安全的面向对象的精妙语言,可帮助开发者生成在 .NET Framework 上运行的各种安全可靠的应用程序. C# 可用于创建 Windo ...

  8. Common Data Service (CDS) 初探

    作者:陈希章 发表于 2017年12月16日 前言 Common Data Service(以下简称为CDS),通用数据服务是一个创新性的基础功能,这是微软试图打造一个全新的基于SaaS模式的数据服务 ...

  9. 轻松上云,从容实施Office 365项目

    这个是我在MVP 社区活动的一节课程,讲述Office 365部署中一些大的挑战和解决的方法 视频URL 例如以下: http://edu.51cto.com/lesson/id-17440.html ...

  10. nginx配置(windows配置)

    以下是我的项目用到的一份配置文件#user  nobody;worker_processes  4; #进程数,一般cpu是几核就写多少#error_log  logs/error.log;#erro ...