详解用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实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
Python利用turtle库绘制彩虹代码示例
Dec 20 Python
python 实现登录网页的操作方法
May 11 Python
python实现批量nii文件转换为png图像
Jul 18 Python
pycharm 安装JPype的教程
Aug 08 Python
Django shell调试models输出的SQL语句方法
Aug 29 Python
Python实现线性插值和三次样条插值的示例代码
Nov 13 Python
文件上传服务器-jupyter 中python解压及压缩方式
Apr 22 Python
python实现飞船大战
Apr 24 Python
Keras预训练的ImageNet模型实现分类操作
Jul 07 Python
Django DRF APIView源码运行流程详解
Aug 17 Python
python基本算法之实现归并排序(Merge sort)
Sep 01 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
简单介绍下 PHP5 中引入的 MYSQLI的用途
2007/03/19 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
模仿百度三维地图的js数据分享
2011/05/12 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
js获取内联样式的方法
2015/01/27 Javascript
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
深入理解Ajax的get和post请求
2016/06/02 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
vue组件实例解析
2017/01/10 Javascript
Bootstrap警告框(Alert)插件使用方法
2017/03/21 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
python下如何让web元素的生成更简单的分析
2008/07/17 Python
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
使用Python实现一个简单的项目监控
2015/03/31 Python
在Python中使用mongoengine操作MongoDB教程
2015/04/24 Python
学习python类方法与对象方法
2016/03/15 Python
Python3生成手写体数字方法
2018/01/30 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
《绿色蝈蝈》教学反思
2014/03/02 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
费城故事观后感
2015/06/10 职场文书
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技
MySQL 数据 data 基本操作
2022/05/04 MySQL