详解用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 相关文章推荐
pyqt4教程之widget使用示例分享
Mar 07 Python
Python获取邮件地址的方法
Jul 10 Python
PyCharm使用教程之搭建Python开发环境
Jun 07 Python
使用Python多线程爬虫爬取电影天堂资源
Sep 23 Python
python爱心表白 每天都是浪漫七夕!
Aug 18 Python
Python中dict和set的用法讲解
Mar 28 Python
Python 3.6 -win64环境安装PIL模块的教程
Jun 20 Python
python实现点击按钮修改数据的方法
Jul 17 Python
Django 在iframe里跳转顶层url的例子
Aug 21 Python
python实现文件的分割与合并
Aug 29 Python
Python读取二进制文件代码方法解析
Jun 22 Python
pytorch中index_select()的用法详解
Jan 06 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无法访问远程mysql的问题分析及解决
2013/05/16 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
jQuery插件jPaginate实现无刷新分页
2015/05/04 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
JavaScript定义全局对象的方法示例
2017/01/12 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
2017/11/15 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
详解Vue 如何监听Array的变化
2019/06/06 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
在python中实现对list求和及求积
2018/11/14 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
2019/01/07 Python
Python实现网站表单提交和模板
2019/01/15 Python
Pycharm如何打断点的方法步骤
2019/06/13 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
浅析Python 抽象工厂模式的优缺点
2020/07/13 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
拥有超过850家商店的美国在线派对商店:Party City
2018/10/21 全球购物
高中生毕业学习总结的自我评价
2013/11/14 职场文书
健康家庭事迹材料
2014/05/02 职场文书
信用社竞聘演讲稿
2014/05/16 职场文书
数据保密承诺书
2014/06/03 职场文书
白莲教口号
2014/06/18 职场文书
公共场所禁烟标语
2014/06/25 职场文书
学习保证书
2015/01/17 职场文书
医院党建工作总结2015
2015/05/26 职场文书
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js