详解用selenium来下载小姐姐图片并保存


Posted in Python onJanuary 26, 2021

下载小姐姐图片并保存

  • 请求的地址
  • 伪装
  • 定位元素
  • 下载图片
  • 保存好了

下面开始我们的实战,这个是我们今天访问的url:

url = 'http://pic.netbian.com/4kmeinv/'

1,先把包给导进来:

import requests
from selenium.webdriver import Chrome,ChromeOptions
import os

不知道怎么导包的看我的第一篇,附上链接:
https://3water.com/article/204774.htm

2, 接下来就开始发送请求

#请求的url
 url = 'http://pic.netbian.com/4kmeinv/'
 #进行伪装
 headers = {
 "User_Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"
 }
 #发起请求
 response = requests.get(url=url,headers=headers)
 #手动设定响应数据的编码格式
 response.encoding = 'utf-8'
 page_text = response.text
 #这个就是再后台上面运行那个浏览器,不在表面上占用你的
 option = ChromeOptions()
 option.add_argument('--headless')
 option.add_argument("--no-sandbox")
 option.add_experimental_option('excludeSwitches',['enable-automation'])
 #这里也要输入
 browser = Chrome(options=option)
 browser.get(url)

相信看过我上篇的都知道这些,那就废话不多说,定位元素:

3,定位:

先看下代码再说:

li = browser.find_elements_by_xpath('//*[@id="main"]/div[3]/ul/li')

老样子,分为三步,第一步选中所选的图片?>copy xpath?>ctrl+f -->粘贴进去可以看到是1of1,但明显我们要的是这个页面上所有的图片,所以呀,只需要改一下就可以啦,将tr[1],里面的包括括号删掉就可以。

详解用selenium来下载小姐姐图片并保存

这样的话就是整个页面内所有的图片啦,

详解用selenium来下载小姐姐图片并保存

4,创建文件以保存我们所要的图片:

#创建一个文件夹
 if not os.path.exists('./小美女图'):
 os.mkdir('./小美女图')

然后再循环一下就好啦:

for i in li:
 img_src = i.find_element_by_xpath('./a/img').get_attribute('src')
 img_name = i.find_element_by_xpath('./a/img').get_attribute('alt')+'.jpg'

至于为什么要这么写,可以看一下我的上一篇博客:

5,保存

img_data = requests.get(url=img_src,headers=headers).content
 img_path = '小美女图/'+img_name
 with open(img_path,'wb') as fp:
  fp.write(img_data)
  print(img_name,'下载成功!!!')

最后的结果哈哈哈哈:这个也不存在什么图片尺寸过大啥的,如果错了,多半是你元素没有定位好。

详解用selenium来下载小姐姐图片并保存

到此这篇关于详解用selenium来下载小姐姐图片并保存的文章就介绍到这了,更多相关selenium 下载图片内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python登录QQ邮箱发信的实现代码
Feb 10 Python
从零学Python之入门(五)缩进和选择
May 27 Python
python中enumerate函数用法实例分析
May 20 Python
详解Python中的Descriptor描述符类
Jun 14 Python
分数霸榜! python助你微信跳一跳拿高分
Jan 08 Python
简单了解python代码优化小技巧
Jul 08 Python
Win10系统下安装labelme及json文件批量转化方法
Jul 30 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
Oct 18 Python
详解使用django-mama-cas快速搭建CAS服务的实现
Oct 30 Python
如何在mac环境中用python处理protobuf
Dec 25 Python
PyQt5实现简单的计算器
May 30 Python
Python while true实现爬虫定时任务
Jun 08 Python
selenium与xpath之获取指定位置的元素的实现
Jan 26 #Python
详解Python中的Lock和Rlock
Jan 26 #Python
5分钟快速掌握Python定时任务框架的实现
Jan 26 #Python
Python爬虫自动化爬取b站实时弹幕实例方法
Jan 26 #Python
python 实现的车牌识别项目
Jan 25 #Python
Python实现给PDF添加水印的方法
Jan 25 #Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 #Python
You might like
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
2010/07/09 PHP
PHP数组无限分级数据的层级化处理代码
2012/12/29 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
JavaScript 无符号右移赋值操作
2009/04/17 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
Javascript实现单例模式
2016/01/24 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
Javascript之Date对象详解
2016/06/07 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
js实现图片360度旋转
2017/01/22 Javascript
ECMAScript6--解构
2017/03/30 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
Vue中axios拦截器如何单独配置token
2019/12/27 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
python线程池threadpool实现篇
2018/04/27 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
美国健康和保健平台:healtop
2020/07/02 全球购物
村创先争优活动总结
2014/08/28 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript