python实现自动网页截图并裁剪图片


Posted in Python onJuly 30, 2018

本文实例为大家分享了python自动网页截图并裁剪图片的具体代码,供大家参考,具体内容如下

代码:

# coding=utf-8
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from PIL import Image
import os

all_urls = ['http:/****edit']
def login():
  chrome_options = Options()
  chrome_options.add_argument('--headless')
  driver = webdriver.Chrome(executable_path='./chromedriver',chrome_options=chrome_options)
  driver.set_window_size(1200, 741)
  driver.implicitly_wait(2)
  print('初始化中...')
  driver.get("http://x*****e")
  print('填写登录信息中...')
  acc = driver.find_element_by_id('login-email')
  pwd = driver.find_element_by_id('login-pass')
  btn = driver.find_element_by_tag_name('button')
  acc.send_keys('***')
  pwd.send_keys('***')
  btn.click()
  print('跳转到验证码页面中...')
  time.sleep(2)
  capta = driver.find_element_by_id('code')
  capta_input = input('请输入两步验证码:')
  capta.send_keys(capta_input)
  btn1 = driver.find_element_by_tag_name('button')
  btn1.click()
  time.sleep(2)
  print('跳转到创意编辑页面中...')
  return driver

def get_screen(driver,urls):
  count = 1
  for url in urls:
    driver.get(url)
    print('正在抓取--> %s'% url)
    count +=1
    time.sleep(2)
    uid = url.split('/')[-2]
    cid = url.split('/')[-5]
    driver.get_screenshot_as_file("./screen_shot/{}-{}.png".format(uid,cid))
    print("创意--> {}-{}.png 已经保存".format(uid,cid))
    print('还剩 %s 个'% str(len(urls)-count))

def crop_img():
  for img in os.listdir('./screen_shot'):
    if img.endswith('.png'):
      print('%s裁剪中。。'% img)
      im = Image.open('./screen_shot/%s'% img)
      x = 755
      y = 162
      w = 383
      h = 346
      region = im.crop((x, y, x+w, y+h))
      region.save("./screenshot_final/%s" % img)


if __name__ == '__main__':
  driver = login()
  get_screen(driver,all_urls)
  driver.quit()
  print('所有抓取结束')
  crop_img()
  print('所有裁剪结束')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中捕捉详细异常信息的代码示例
Sep 18 Python
python使用urlparse分析网址中域名的方法
Apr 15 Python
Python的Django框架中TEMPLATES项的设置教程
May 29 Python
Python作用域用法实例详解
Mar 15 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
Jan 11 Python
python实现趣味图片字符化
Apr 30 Python
python变量命名的7条建议
Jul 04 Python
django做form表单的数据验证过程详解
Jul 26 Python
Python中常用的高阶函数实例详解
Feb 21 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
Mar 30 Python
学生如何注册Pycharm专业版以及pycharm的安装
Sep 24 Python
解决Pytorch中关于model.eval的问题
May 22 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 #Python
对PyTorch torch.stack的实例讲解
Jul 30 #Python
Python 中字符串拼接的多种方法
Jul 30 #Python
TensorFlow Session会话控制&Variable变量详解
Jul 30 #Python
TensorFlow Session使用的两种方法小结
Jul 30 #Python
教你利用Python玩转histogram直方图的五种方法
Jul 30 #Python
对TensorFlow中的variables_to_restore函数详解
Jul 30 #Python
You might like
第1次亲密接触PHP5(1)
2006/10/09 PHP
php 更新数据库中断的解决方法
2009/06/05 PHP
php中在PDO中使用事务(Transaction)
2011/05/14 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
javascript中createElement的两种创建方式
2015/05/14 Javascript
jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
2015/07/27 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
javascript 初学教程及五子棋小程序的简单实现
2017/07/04 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
Angular6笔记之封装http的示例代码
2018/07/27 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
跟老齐学Python之用while来循环
2014/10/02 Python
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
详解Python字符串对象的实现
2015/12/24 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
对Tensorflow中的变量初始化函数详解
2018/07/27 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
GWebs公司笔试题
2012/05/04 面试题
硕士生找工作求职信
2014/07/05 职场文书
教师个人事迹材料
2014/12/17 职场文书
语文教师个人工作总结
2015/02/06 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏