selenium爬虫图片

  • 前言
  • 1. 环境配置
    • 1.1 Anaconda安装
    • 1.2 selenium安装
    • 1.3 google浏览器
    • 1.4 chromedriver配置
  • 2. 爬图片代码
  • 总结

前言

在做目标检测或语义分割时,有时没有找到自己需要的数据集,那么爬虫是一个很有效的方法,selenium可以让浏览器自动下载图片,很方便。

1. 环境配置

1.1 Anaconda安装

请参考我的另一篇文章anaconda安装

1.2 selenium安装

命令行输入

pip install selenium

1.3 google浏览器

下载纯净版,不要双核版,双核版我报错unknown error: Chrome failed to start: crashed,没有调好,可能是版本没有对应好,但是我把版本差不多的都试了一遍,还是不行。安装纯净版,没有报错,直接百度就可以下载。还要注意一点:不要改变默认路径,否则程序会报错,正常路径应该是C:\Users\Administrator\AppData\Local\Google\Chrome\Application

1.4 chromedriver配置

chromedriver下载地址
根据自己google的版本选择合适的,这里可能找不到完全一模一样版本的,可以选择附近的版本,多试几个,对应表如下,v69以上版本直接在下载地址中找。

下载后解压得到chromedriver.exe文件,将其复制到google浏览器安装目录下,并将该目录添加到环境变量path中。

2. 爬图片代码

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
import requestsdef getnamepage(name):b.get('http://image.baidu.com/')search_box=b.find_element_by_id('kw')search_box.send_keys(name)search_box.send_keys(Keys.ENTER)time.sleep(5)def download(imglist,num):# 选取大尺寸ele=b.find_element_by_id('sizeFilter')ActionChains(b).move_to_element(ele).perform()time.sleep(5)ele4=b.find_element_by_xpath('//*[@id="sizeFilter"]/div/div[2]/ul/li[1]')ActionChains(b).move_to_element(ele4).perform()time.sleep(5)ele4.click()time.sleep(5)#打开第一张图片,在此界面中点击左右切换图片ele1=b.find_element_by_xpath('/html/body/div[2]/div[2]/div[4]/div[1]/ul/li[2]/div/a/img') ele1.click()b.switch_to.window(b.window_handles[1])#很重要的一步,切换窗口,否则页面找不到元素,python shell里面是b.switch_to_windowx=1for i in range(1,num+1):#ele3=b.find_element_by_xpath('/html/body/div[1]/div[2]/div/span[2]/span')#ele3.click()#time.sleep(3)#为保险起见,设置一个睡眠和爬取的时间差ele2=b.find_element_by_xpath('//*[@id="currentImg"]')img=ele2.get_attribute('src')#获取当前图片的url链接r=requests.get(img)if r.status_code==200:path='south/%d.jpg'%x     #保存图片的路径,填写自己的print('正在爬取  '+img)with open(path,'wb') as f:f.write(r.content)time.sleep(1)f.close()print('爬取成功')x+=1ele3=b.find_element_by_xpath('//*[@id="container"]/span[2]/span')ele3.click()#time.sleep(3)#跳到下一张else:ele3=b.find_element_by_xpath('//*[@id="container"]/span[2]/span')ele3.click()time.sleep(1)continueif __name__=="__main__":b=webdriver.Chrome(executable_path=r'C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chromedriver')name='猫'#定义要搜索的内容num=6000imglist=[]getnamepage(name)download(imglist,num)b.close()

总结

爬虫还是挺有趣的,以前做的爬虫都没记录,现在都忘了,有点僵硬,之后慢慢补吧。

selenium爬虫图片相关推荐

  1. 【selenium爬虫】用selenium自动化爬虫爬取海贼王动漫图片

    以下内容为本人原创,欢迎大家观看学习,禁止用于商业用途,转载请说明出处,谢谢合作! ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/art ...

  2. Python爬虫(10)selenium爬虫后数据,存入csv、txt并将存入数据并对数据进行查询

    之前的文章有关于更多操作方式详细解答,本篇基于前面的知识点进行操作,如果不了解可以先看之前的文章 Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式 Py ...

  3. Python爬虫(9)selenium爬虫后数据,存入mongodb实现增删改查

    之前的文章有关于更多操作方式详细解答,本篇基于前面的知识点进行操作,如果不了解可以先看之前的文章 Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式 Py ...

  4. Crawlab运行selenium爬虫

    上篇文章学习了Crawlab运行scrapy爬虫和单文件爬虫,这次学习Crawlab运行selenium爬虫,我的例子是单文件的. 环境准备 Crawlab虽然自带了一些爬虫用的第三方库,但是不全,总 ...

  5. 用Selenium 爬虫下载文件,解除Chrome 下载警告 (Keep or Discard),设置下载目录的方法

    写在前面的话 我们的描述,运用都是基于Ubuntu 的运行环境 Chrome : Version 77.0.3865.90 (Official Build) (64-bit) OS : Ubuntu ...

  6. __init__在python中的用法知乎_python使用selenium爬虫知乎的方法示例

    说起爬虫一般想到的情况是,使用 python 中都通过 requests 库获取网页内容,然后通过 beautifulSoup 进行筛选文档中的标签和内容.但是这样有个问题就是,容易被反扒机制所拦住. ...

  7. python selenium爬虫代码示例_python3通过selenium爬虫获取到dj商品的实例代码

    先给大家介绍下python3 selenium使用 其实这个就相当于模拟人的点击事件来连续的访问浏览器.如果你玩过王者荣耀的话在2016年一月份的版本里面就有一个bug. 安卓手机下载一个按键精灵就可 ...

  8. Python爬虫之selenium爬虫,模拟浏览器爬取天猫信息

    由于工作需要,需要提取到天猫400个指定商品页面中指定的信息,于是有了这个爬虫.这是一个使用 selenium 爬取天猫商品信息的爬虫,虽然功能单一,但是也算是 selenium 爬虫的基本用法了. ...

  9. requests+bs4批量爬取反爬虫图片网站

    导读:爬取反爬虫图片网站 预览效果 遇到的问题: 刚开始爬虫的时候,爬取到的所有图片都是一张重定向推广图片 解决办法:在requests请求头headers中配置Referer属性,指向爬取网站的顶级 ...

最新文章

  1. Rational Rose打开方式
  2. Web前端基础知识:ES5及ES6this详解
  3. 制作Scary爬虫步骤
  4. 学习《apache源代码全景分析》之模块化体系结构摘录
  5. ON DUPLICATE KEY UPDATE 附带更新条件
  6. java -PDF添加文本水印与图片水印
  7. 洛谷2619/bzoj2654 Tree(凸优化+MST)
  8. STL中sort排序的简单使用
  9. Cocos2d-x windows + vs2010 配置图文详解
  10. windows Hadoop环境搭建之一---软件准备
  11. iPad最新型笔刷,足足五种分类,几百款
  12. 听中科院研究员袁亚湘报告心得体会
  13. 吐血推荐一大波让你直呼哇塞的Canvas库
  14. LA4670 Dominating Patterns(AC自动机)
  15. python中用sympy对变量求偏导
  16. 屏幕处理效果—调整屏幕的亮度,饱和度和对比度
  17. U盘不显示盘符的问题
  18. vue 传参 微信_小猿圈web前端之微信小程序页面间跳转传参方式总结
  19. LearnGL - 11.1 - 实现简单的Gouraud光照模型 dot 点积/点乘的作用
  20. SAP 接口 inbound (SAP CALL JAVA ) 负载均衡说明

热门文章

  1. MHT: Basic Methods for Data Association(六)Multiple Hypothesis Tracking 多假设追踪(1)
  2. 笔记本电脑键盘进水怎么办?有效处理湿键盘的关键步骤
  3. python urlopen 超时_在Python的urllib2 urlopen中检测超时错误
  4. ApacheCN 翻译活动进度公告 2019.3.3 1
  5. 三个简单又靠谱的兼职,让上班族轻松赚钱!
  6. 浅谈五种常用的特征选择方法
  7. VR实景看房,解锁购房新姿势
  8. java除法转百分比
  9. Lucene SmartChineseAnalyzer 自定义扩展 同义词
  10. IPsec中IKE与ISAKMP过程分析(主模式-消息1)