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语言的优雅之处
Jul 04 Python
Python实现一个简单的MySQL类
Jan 07 Python
Python函数可变参数定义及其参数传递方式实例详解
May 25 Python
Python使用Scrapy爬取妹子图
May 28 Python
python中abs&map&reduce简介
Feb 20 Python
详解Python对JSON中的特殊类型进行Encoder
Jul 15 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
详解Django中views数据查询使用locals()函数进行优化
Aug 24 Python
Python pip install之SSL异常处理操作
Sep 03 Python
Python中的xlrd模块使用整理
Jun 15 Python
Python帮你解决手机qq微信内存占用太多问题
Feb 15 Python
实战Python爬虫爬取酷我音乐
Apr 11 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
php木马攻击防御之道
2008/03/24 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
php生成html文件方法总结
2014/12/01 PHP
php相对当前文件include其它文件的方法
2015/03/13 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
vue-next/runtime-core 源码阅读指南详解
2019/10/25 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
讲解python参数和作用域的使用
2013/11/01 Python
Python与Redis的连接教程
2015/04/22 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
python图书管理系统
2020/04/05 Python
pytorch之inception_v3的实现案例
2020/01/06 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
公司离职证明范本(5篇)
2014/09/17 职场文书
Python深度学习之实现卷积神经网络
2021/06/05 Python
详解MongoDB排序时内存大小限制与创建索引的注意事项
2022/05/06 MongoDB