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列表list数组array用法实例解析
Oct 28 Python
python获取指定路径下所有指定后缀文件的方法
May 26 Python
python 2.6.6升级到python 2.7.x版本的方法
Oct 09 Python
python常见排序算法基础教程
Apr 13 Python
scrapy爬虫实例分享
Dec 28 Python
pycharm运行程序时在Python console窗口中运行的方法
Dec 03 Python
对python调用RPC接口的实例详解
Jan 03 Python
python使用Plotly绘图工具绘制气泡图
Apr 01 Python
搞清楚 Python traceback的具体使用方法
May 13 Python
python实现斗地主分牌洗牌
Jun 22 Python
Python实战之实现简易的学生选课系统
May 25 Python
教你如何使用Python Tkinter库制作记事本
Jun 10 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
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
php生成图片验证码
2015/06/09 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
通过jquery 获取URL参数并进行转码
2014/08/18 Javascript
JavaScript中的this关键字使用方法总结
2015/03/13 Javascript
使用jquery提交form表单并自定义action的方法
2016/05/25 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
解决vue 表格table列求和的问题
2019/11/06 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
python简单实现获取当前时间
2016/08/27 Python
基于python 字符编码的理解
2017/09/02 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
numpy.random模块用法总结
2019/05/27 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
Python turtle库绘制菱形的3种方式小结
2019/11/23 Python
萨克斯第五大道的折扣店:Saks Fifth Avenue OFF 5TH
2016/08/25 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
4s客服专员岗位职责
2013/12/01 职场文书
专业求职信撰写要诀
2014/02/18 职场文书
自荐信如何制作?
2014/02/21 职场文书
经典团队口号
2014/06/06 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
经典导游欢迎词
2015/01/26 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
PL350与SW11的比较
2021/04/22 无线电
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers