详解用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实现DNS正向查询、反向查询的例子
Apr 25 Python
python中pygame模块用法实例
Oct 09 Python
Python素数检测的方法
May 11 Python
Python下的常用下载安装工具pip的安装方法
Nov 13 Python
Python中强大的命令行库click入门教程
Dec 26 Python
python实现排序算法解析
Sep 08 Python
Python 获取指定文件夹下的目录和文件的实现
Aug 30 Python
如何获取Python简单for循环索引
Nov 21 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
Python SSL证书验证问题解决方案
Jan 13 Python
Python实现寻找回文数字过程解析
Jun 09 Python
Python中的None与 NULL(即空字符)的区别详解
Sep 24 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也可以?成Shell Script
2006/10/09 PHP
PHP的一个基础知识 表单提交
2011/07/04 PHP
抓取并下载CSS中所有图片文件的php代码
2011/09/26 PHP
PHP中对于浮点型的数据需要用不同的方法解决
2014/03/11 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
js实现的网页颜色代码表全集
2007/07/17 Javascript
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
Javascript 是你的高阶函数(高级应用)
2015/06/15 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
浅谈Angular7 项目开发总结
2018/12/19 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
Python argv用法详解
2016/01/08 Python
Python自定义线程类简单示例
2018/03/23 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
pandas数据处理进阶详解
2019/10/11 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
Gap英国官网:Gap UK
2018/07/18 全球购物
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
2015/09/11 面试题
《藤野先生》教学反思
2014/02/19 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
大连星海广场导游词
2015/02/10 职场文书
2016年暑假家长对孩子评语
2015/12/01 职场文书
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏