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根据距离和时长计算配速示例
Feb 16 Python
详解Python Socket网络编程
Jan 05 Python
Python网络爬虫实例讲解
Apr 28 Python
python实现list元素按关键字相加减的方法示例
Jun 09 Python
Python数据结构之双向链表的定义与使用方法示例
Jan 16 Python
快速解决安装python没有scripts文件夹的问题
Apr 03 Python
python 自定义异常和异常捕捉的方法
Oct 18 Python
Python中那些 Pythonic的写法详解
Jul 02 Python
python3下pygame如何实现显示中文
Jan 11 Python
tensorflow中tf.slice和tf.gather切片函数的使用
Jan 19 Python
python 将html转换为pdf的几种方法
Dec 29 Python
利用Python+OpenCV三步去除水印
May 28 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制作新闻系统的思路
2006/10/09 PHP
PHP 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
PHP cdata 处理(详细介绍)
2013/07/05 PHP
php去除字符串换行符示例分享
2014/02/13 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
PHP读取、解析eml文件及生成网页的方法示例
2017/09/04 PHP
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
通过JS来判断页面控件是否获取焦点
2014/01/03 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
解密Python中的描述符(descriptor)
2015/06/03 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
C/C++程序员常见面试题一
2012/12/08 面试题
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
工程造价管理专业大专生求职信
2013/10/06 职场文书
酒店保安员岗位职责
2014/01/31 职场文书
秘书英文求职信范文
2014/01/31 职场文书
五四青年节优秀演讲稿范文
2014/05/28 职场文书
农林经济管理专业自荐信
2014/09/01 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
2014年设备管理工作总结
2014/11/26 职场文书
2015年数学教师工作总结
2015/05/20 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
新员工入职感想
2015/08/07 职场文书
外出培训学习心得体会
2016/01/18 职场文书
关于的python五子棋的算法
2022/05/02 Python