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脚本和ADB命令实现卸载App
Feb 10 Python
python实现的AES双向对称加密解密与用法分析
May 02 Python
从CentOS安装完成到生成词云python的实例
Dec 01 Python
用Python写一段用户登录的程序代码
Apr 22 Python
python编写暴力破解zip文档程序的实例讲解
Apr 24 Python
转换科学计数法的数值字符串为decimal类型的方法
Jul 16 Python
python读取几个G的csv文件方法
Jan 07 Python
用sqlalchemy构建Django连接池的实例
Aug 29 Python
基于pytorch的lstm参数使用详解
Jan 14 Python
python文件编写好后如何实践
Jul 07 Python
Python3爬虫RedisDump的安装步骤
Feb 20 Python
Python加密与解密模块hashlib与hmac
Jun 05 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 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
ASP中Sub和Function的区别说明
2020/08/30 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
2014/10/10 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
使用canvas实现仿新浪微博头像截取上传功能
2015/09/02 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
js实现GIF图片的分解和合成
2019/10/24 Javascript
JavaScript中条件语句的优化技巧总结
2020/12/04 Javascript
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
python中import reload __import__的区别详解
2017/10/16 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
Python装饰器用法实例总结
2018/05/26 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
CSS3新增布局之: flex详解
2020/06/18 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
Ibatis如何调用存储过程
2015/05/15 面试题
JSF如何进行表格处理及取值
2012/08/06 面试题
幼儿园保育员岗位职责
2014/04/13 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
音乐幼师求职信
2014/07/09 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
你会写请假条吗?
2019/06/26 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL