#coding:utf-8
#__author__='wang'

#phantomJS:selenium+phantomJS实现动态网站数据的爬取,该工具被称为幽灵浏览器,
也可以像浏览器一样去渲染JS加载的页面,只不过没有界面,运行速度比启动客户端又快一些

#注意:phantomJS解析的动态网页源码可能会存在和Firefox()客户端解析的动态网页源码
不一样的情况

#通过cmd命令phantomJS -v查看是否安装成功,出现版本号则可以正常使用了

import time,os
import shutil
from urllib import urlretrieve
from selenium   import webdriverclass ImageDownload(object):def __init__(self):self.base_url = 'http://www.ivsky.com/tupian/ziranfengguang/'
        self.page = 1
        #由于图片的下载只需要创建一个浏览器对象即可,将对象的创建放到初始化函数中
        self.driver = self.get_driver()def get_driver(self):driver = webdriver.PhantomJS()try:driver.get(self.base_url + 'index_' + str(self.page) +'.html')except Exception,e:print '加载首页数据失败,原因:',eelse:print '加载首页数据成功'
            return driverdef create_directory(self,directory_name):if os.path.exists(directory_name):print directory_name+u'目录已经存在了'
            #删除文件
            shutil.rmtree(directory_name)print directory_name + u'目录创建成功'
        os.mkdir(directory_name)os.chdir(directory_name)def download_img(self):#定位到每一张图片元素,取出src有图片链接用于下载,取出alt属性用于创建
文件夹
        imgs_list = self.driver.find_elements_by_css_selector
('.il_img img')for img in imgs_list:src = img.get_attribute('src').encode('utf-8')alt = img.get_attribute('alt')self.create_directory(alt)urlretrieve(src,'fengjing.png')os.chdir(os.path.pardir)#定位下一页
        try:next_page = self.driver.find_element_by_css_selector
('.page-next')print next_pageexcept Exception,e:print '已经到最后一页了'
            #退出浏览器,同时结束单钱函数的执行
            self.driver.quit()return
        else:#取出下一页
            next_url = next_page.get_attribute('href').encode('utf-8')self.driver.get(next_url)self.download_img()if __name__ == '__main__':img=ImageDownload()img.download_img()

selenium下载图片相关推荐

  1. python selenium下载图片_Python Selenium Web自动化上传/下载文件图文详解

    情景: 在用selenium进行web页面自动化时,时不时会遇到上传附件的情况,常见的情况就是一个上传按钮,点击后弹出windows窗口,选择文件后上传,如下图1所示 图1 这种情况超出了seleni ...

  2. python + selenium +pyquery 爬虫 爬取 1688详情图片 阿里巴巴详情图片 与标题 下载图片并进行压缩

    python + selenium +pyquery 爬虫  爬取 1688详情图片 阿里巴巴详情图片 与标题 下载图片并进行压缩 用到的库和源码下载地址 需要用到chromedriver  包含wi ...

  3. 用scrapy+selenium + phantomjs 爬取vip网页,保存为json格式,写入到mysql数据库,下载图片(二)

    接上一编 weipin.py文件的代码 : # -*- coding: utf-8 -*- import scrapy from weipinhui.items import WeipinhuiIte ...

  4. selenium小练习:自写利用 selenium 下载Google高清图片、大众点评自动传头像/评论

    一. selenium 下载高清图片 1.版本介绍 python 3.7.4 selenium = 3.141.0 chromedriver=84.0.4147.30 2.保存 base64 图片格式 ...

  5. selenium爬取优酷页面并下载图片

    1 from selenium import webdriver 2 import requests 3 driver = webdriver.Chrome() 4 #打开优酷 5 driver.ge ...

  6. python selenium下载电子书

    转载至:TTyb    http://www.cnblogs.com/TTyb/p/5989152.html 妹纸推荐书籍<御伽草纸>,网上找了很久都找不到下载,估计是被Amazon版权了 ...

  7. python用selenium 验证码图片_Python +Selenium解决图片验证码登录或注册问题(推荐)

    1. 解决思路 首先要获得这张验证码的图片,但是该图片一般都是用的js写的,不能够通过url进行下载. 解决方案:截图然后根据该图片的定位和长高,使用工具进行裁剪 裁剪完毕之后,使用工具解析该图片. ...

  8. Scrapy爬取动态页面下载图片(以抓取360图片为例)

    当我们想要抓取一个页面的内容时,要做的第一件事不是写代码,而是分析页面,确定这是一个静态页面还是动态页面.抓取静态页面的方法十分简单,直接解析html源码再进行分析解析即可,如果不太明白,可以参考我上 ...

  9. Python+selenium下载数据初探

    ghpython语法去年看了一些,一直没有应用到实践中. 手头有些数据,都在行业内部网站上查询,网站使用吧safeKey加密狗,只能使用ie来认证加密.过去我认为这种网站是没用办法爬取数据的.研究了s ...

  10. 4 爬虫 selenium模块 图片点击验证 js加密 js混淆

    爬虫 1 selenium模块 1.1 简介 selenium模块一般用于基于浏览器的自动化测试工作,也可以用于爬虫. 使用selenium模块进行爬虫: 可以方便地捕获动态加载的数据,页面可见即可得 ...

最新文章

  1. 左右声道测试音频_关于制作左右声道音频的剪辑软件推荐
  2. C# 中DataTable转成模型List
  3. SM37job状态意义
  4. Tengine开源新特性:如何让HTTPS处理能力轻松翻倍?
  5. STM32示波器 信号发生器
  6. 程序员常用编程工具: VS Code,那些你不得不知道的小知识!
  7. C++知识点(三)函数
  8. jQuery基础 - 选择器
  9. 神经网络控制器设计原理,神经网络控制系统设计
  10. 微信朋友圈分享详细步骤html,微信如何转发朋友圈图文(朋友圈转发图文教程分享)...
  11. 测试内存条是否兼容软件,18款内存条兼容性测试
  12. python concat_python数据拼接: pd.concat
  13. python html跨平台尝试Eel
  14. matlab中如何转动三维图_MATLAB小技巧之:绕任意空间轴旋转三维图形
  15. 视觉工程师面试50问
  16. python处理字符串(SQL语句批量新增)
  17. vue框架在ie浏览器下的问题以及解决方法
  18. qa问答里的qa什么意思_您应该使用QA Wolf吗?
  19. 微信公众平台网页授权
  20. 佳能MG3680彩版喷墨打印机AP模式开启/关闭方法

热门文章

  1. Python-----列表,字典,集合生成式,生成器
  2. 灰色头像,一上班发现qq,msn头像不能搞灰,郁闷
  3. 工作站安装Ubuntu,显卡驱动,pytorch全流程
  4. 手把手教你linux系统安装和完美配置
  5. python中的if语句
  6. postgresql客户端远程连接
  7. element-ui局部区域loading效果
  8. [Matlab] norm函数用法(用于RMSE和R2)
  9. mac html flash,苹果电脑flash过期无法打开网页的解决方法
  10. 老铁的IT之路,从迷茫“愤青”到团队项目经理,他是如何一步步走出来的?!