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中的元类编程入门指引
Apr 15 Python
Python解析最简单的验证码
Jan 07 Python
Python和C/C++交互的几种方法总结
May 11 Python
Python实现购物系统(示例讲解)
Sep 13 Python
Python编程实现蚁群算法详解
Nov 13 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
Mar 22 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 Python
pytorch masked_fill报错的解决
Feb 18 Python
python实现从ftp服务器下载文件
Mar 03 Python
keras实现基于孪生网络的图片相似度计算方式
Jun 11 Python
Python SMTP配置参数并发送邮件
Jun 16 Python
python程序实现BTC(比特币)挖矿的完整代码
Jan 20 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
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
jquery获取子节点和父节点的示例代码
2013/09/10 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
win系统下nodejs环境安装配置
2017/05/04 NodeJs
详解如何将angular-ui的图片轮播组件封装成一个指令
2017/05/09 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
vue keep-alive的简单总结
2021/01/25 Vue.js
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
实例讲解Python中的私有属性
2014/08/21 Python
使用Python对Access读写操作
2017/03/30 Python
用Python实现读写锁的示例代码
2018/11/05 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
python中for循环变量作用域及用法详解
2019/11/05 Python
python实发邮件实例详解
2019/11/11 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
网页中的电话号码如何实现一键直呼效果_附示例
2016/03/15 HTML / CSS
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
《桂林山水》教学反思
2014/02/08 职场文书
老人节标语大全
2014/10/08 职场文书
2015年大学生实习评语
2015/03/25 职场文书
关于做家务的心得体会
2016/01/23 职场文书
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL