详解用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中lambda函数 list comprehension 和 zip函数使用指南
Sep 28 Python
深入理解Python中字典的键的使用
Aug 19 Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
Oct 07 Python
Python扩展内置类型详解
Mar 26 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 Python
python中logging模块的一些简单用法的使用
Feb 22 Python
python+jinja2实现接口数据批量生成工具
Aug 28 Python
pytorch获取模型某一层参数名及参数值方式
Dec 30 Python
简单了解pytest测试框架setup和tearDown
Apr 14 Python
python 画图 图例自由定义方式
Apr 17 Python
方法汇总:Python 安装第三方库常用
Apr 26 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中显示格式化的用户输入
2006/10/09 PHP
PHP 一个比较完善的简单文件上传
2010/03/25 PHP
ie 调试javascript的工具
2009/04/29 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
ZeroClipboard.js使用一个flash复制多个文本框
2017/06/19 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
vue移动端下拉刷新和上滑加载
2020/10/27 Javascript
在Python中操作字典之clear()方法的使用
2015/05/21 Python
python获取一组汉字拼音首字母的方法
2015/07/01 Python
Python 实现简单的电话本功能
2015/08/09 Python
python下os模块强大的重命名方法renames详解
2017/03/07 Python
Python Socket使用实例
2017/12/18 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
Django 内置权限扩展案例详解
2019/03/04 Python
对python中url参数编码与解码的实例详解
2019/07/25 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
2019/08/12 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
Python创建临时文件和文件夹
2020/08/05 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
意大利在线药房:shop-farmacia.it
2019/03/12 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
煤矿班组长的职责
2013/12/25 职场文书
篮球比赛拉拉队口号
2014/06/10 职场文书
大专学生求职自荐信
2014/07/06 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
中英文求职信范文
2015/03/19 职场文书
我是特种兵观后感
2015/06/11 职场文书
2017年大学生寒假社会实践活动总结
2016/04/06 职场文书
spring 项目实现限流方法示例
2022/07/15 Java/Android