selenium爬取百度图片
一:简介
通过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爬取百度图片的更多相关文章
- selenium+chrome浏览器驱动-爬取百度图片
百度图片网页中中,当页面滚动到底部,页面会加载新的内容. 我们通过selenium和谷歌浏览器驱动,执行js,是浏览器不断加载页面,通过抓取页面的图片路径来下载图片. from selenium im ...
- 百度图片爬虫-python版-如何爬取百度图片?
上一篇我写了如何爬取百度网盘的爬虫,在这里还是重温一下,把链接附上: http://www.cnblogs.com/huangxie/p/5473273.html 这一篇我想写写如何爬取百度图片的爬虫 ...
- python 3 爬取百度图片
python 3 爬取百度图片 学习了:https://blog.csdn.net/X_JS612/article/details/78149627
- Python 爬虫实例(1)—— 爬取百度图片
爬取百度图片 在Python 2.7上运行 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Author: loveNight import jso ...
- python爬虫-爬取百度图片
python爬虫-爬取百度图片(转) #!/usr/bin/python# coding=utf-8# 作者 :Y0010026# 创建时间 :2018/12/16 16:16# 文件 :spider ...
- python 利用selenium爬取百度文库的word文章
今天学习如何使用selenium库来爬取百度文库里面的收费的word文档 from selenium import webdriver from selenium.webdriver.common.k ...
- Python爬虫:通过关键字爬取百度图片
使用工具:Python2.7 点我下载 scrapy框架 sublime text3 一.搭建python(Windows版本) 1.安装python2.7 ---然后在cmd当中输入python,界 ...
- python爬虫之爬取百度图片
##author:wuhao##爬取指定页码的图片,如果需要爬取某一类的所有图片,整体框架不变,但需要另作分析#import urllib.requestimport urllib.parseimpo ...
- Java爬取 百度图片Google图片Bing图片
先看看抓取的结果. 8个Java类: Startup.java - main函数 ImageCrawler.java - Crawler基类 BaiduImageCrawler.java - 百度图片 ...
随机推荐
- 深入了解Android蓝牙Bluetooth——《基础篇》
什么是蓝牙? 也可以说是蓝牙技术.所谓蓝牙(Bluetooth)技术,实际上是一种短距离无线电技术,是由爱立信公司公司发明的.利用"蓝牙"技术,能够有效地简化掌上电脑.笔记本电 ...
- jQuery常用事件及扩展
jquery中的常用事件 blur([[data],fn]) --失去焦点触发(鼠标)focus([[data],fn]) --得到焦点触发(鼠标)change([[data],fn]) - ...
- Win10 之最新最简单有效安装配置adb
今天在新买的笔记本上安装配置adb,开始觉得挺简单的事,公司win7电脑上有现成的,但实际过程中--没想的那么简单了!好了,废话少说,直接正题. 研究了好一会下,总算搞定,总结如下: 1.下载Andr ...
- HDU 3549 Flow Problem 网络流(最大流) FF EK
Flow Problem Time Limit: 5000/5000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Tot ...
- PHP 常用字符串函数
1.查找字符位置函数 strpos($str,search,[int]):查找search在$str中的第一次位置从int开始: stripos($str,search,[int]):函数返回字符串在 ...
- 查看SQL Server数据读写分离,并设置读写分离
1. 查看读写分离脚本,直接执行以下脚本: select name,is_read_committed_snapshot_on from sys.databases 执行结果列表中,name表示数据库 ...
- Abp扩展之【配置功能】
Abp的扩展功能非常强大,配合持久化可以很方便的配置系统.租户.用户的配置,关于ABP的配置请参考: http://www.cnblogs.com/farb/p/ABPSettingManagemen ...
- 【quickhybrid】H5和Native交互原理
前言 Hybrid架构的核心就是JSBridge交互,而实现这个交互的前提是弄清楚H5和Native端的交互 本文主要介绍Native端(Android/iOS)和H5端(泛指前端)的交互原理 (之前 ...
- 中小企业为什么要上HR系统
人力资源不不过公司资源.也是一种社会资源. 越来越多的企业已将人作为一种重要的资源来看待,资金和技术则是其次.所以企业内部科学的全面的人力资源管理也因此处在了十分重要的位置上. 现在的人力资源是服务于 ...
- HDOJ 4251 The Famous ICPC Team Again
划分树水题..... The Famous ICPC Team Again Time Limit: 30000/15000 MS (Java/Others) Memory Limit: 3276 ...