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中的计时器timeit的使用方法
Oct 20 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
May 21 Python
python实现遍历文件夹修改文件后缀
Aug 28 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
Apr 11 Python
python3 selenium自动化测试 强大的CSS定位方法
Aug 23 Python
python 实现dict转json并保存文件
Dec 05 Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 Python
Django多进程滚动日志问题解决方案
Dec 17 Python
用python实现名片管理系统
Jun 18 Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 Python
python 调用js的四种方式
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/11/14 PHP
PHP多线程抓取网页实现代码
2010/07/22 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
php生成与读取excel文件
2016/10/14 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
js DOM模型操作
2009/12/28 Javascript
自写的一个jQuery圆角插件
2010/10/26 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
js 走马灯简单实例
2013/11/21 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
理解JS事件循环
2016/01/07 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
2016/08/25 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
JS图片预加载插件详解
2017/06/21 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
vue中的使用token的方法示例
2020/03/10 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
Python 使用PIL中的resize进行缩放的实例讲解
2018/08/03 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
django2.2安装错误最全的解决方案(小结)
2019/09/24 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
数控专业毕业生求职信范文
2013/09/21 职场文书
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
12月红领巾广播稿
2014/02/13 职场文书
无私奉献演讲稿
2014/09/04 职场文书
监考失职检讨书
2015/01/26 职场文书
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android