当前位置:首页 > Python技术文章 > python实现自动网页截图并裁剪图片

python实现自动网页截图并裁剪图片实例分享

  • 发布时间:
  • 作者:码农之家原创
  • 点击:76

这篇文章主要知识点是关于python、自动网页截图、裁剪图片、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python+Spark2.0+Hadoop机器学习与大数据实战
  • 类型:Hadoop大小:109 MB格式:PDF作者:林大贵
立即下载

python实现自动网页截图并裁剪图片

本文实例为大家分享了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('所有裁剪结束')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

推荐内容

idea2020注册激活码(激活到2100年)

实例分析Java实现的zip压缩及解压缩工具类

python3 pandas 如何读取MySQL数据和插入

ThinkPHP3.2.3框架如何实现分页功能

深入理解JS函数stack size计算方法

展开 +

收起 -

Python 相关电子书
学习笔记
网友NO.887686

Python3实现的回文数判断及罗马数字转整数算法示例

本文实例讲述了Python3实现的回文数判断及罗马数字转整数算法。分享给大家供大家参考,具体如下: 回文数 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 进阶:你能不将整数转为字符串来解决这个问题吗? 方法一: 将整数转换为字符串,反转字符串,再与原字符串进行比较 class Solution: def isPalindrome(self, x): """ :type x: int :rtype: bool """ if x 0: return False #如果x是负数,则肯定不是回文数。 str_x_r = '' str_x = str(x) str_x_r += str_x[::-1] #反转字符串,-1表示从右边读取 if str_x_r == str_x: return True else: return ……

网友NO.996333

python代码实现逻辑回归logistic原理

Logistic Regression Classifier逻辑回归主要思想就是用最大似然概率方法构建出方程,为最大化方程,利用牛顿梯度上升求解方程参数。 优点:计算代价不高,易于理解和实现。 缺点:容易欠拟合,分类精度可能不高。 使用数据类型:数值型和标称型数据。 介绍逻辑回归之前,我们先看一问题,有个黑箱,里面有白球和黑球,如何判断它们的比例。 我们从里面抓3个球,2个黑球,1个白球。这时候,有人就直接得出了黑球67%,白球占比33%。这个时候,其实这个人使用了 最大似然概率 的思想,通俗来讲,当黑球是67%的占比的时候,我们抓3个球,出现2黑1白的概率最大。我们直接用公式来说明。 假设黑球占比为P,白球为1-P。于是我们要求解MAX(P P (1-P)),显而易见P=67%(求解方法:对方程求导,使导数为0的P值即为最优解) 我们看逻辑回归,解决的是二分类问……

网友NO.159329

python文件存储路径使用变量的方法

在python项目中,需要批量ocr图片后,批量生成同名的txt文件,存储文件需要使用路径,一般是path =rd:\folder\filename.txt,使用变量怎么代替路径呢? 相关推荐:《python视频教程》 步骤如下: 直接使用变量就可以了。 path=variable 因为r()符号的作用是使用原始字符串,它会改变引号内字符转义的规则。如果您只是从另一个变量中获取值,则不需要r写入字符串。 代码: filelist=[test1.jpg,test2.jpg]for filename in filelist: filenamev= D:\\baoan-nlt\\ + filename savepath = filenamev[:-4]+.txt 以上就是python文件存储路径如何使用变量的详细内容,更多请关注码农之家其它相关文章! ……

网友NO.438368

对python中的float除法和整除法的实例详解

从python2.2开始,便有两种除法运算符:"/"、"//"。两者最大区别在: python2.2前的版本和python2.2以后3.0以前的版本的默认情况下,"/"所做的除法是以一种两个数或者多个数出现一个浮点数结果就以浮点数的形式表示,即float除法 "//"所做的除法则不相同,"//"不管两者出现任何数,都以整除结果为准,不对小数部分进行处理,直接抛弃,也就是整除法 以下是笔者在编译器测试的数据,测试的版本是python2.7 关于"/": 3/21 3/2.01.5 3.0/21.5 10/3.03.3333333333333335 由以上的例子我们可得出,只要除数中有一个数是浮点数,那么得到的结果也是浮点数 以下是关于"//": 3//21 3//2.01.0 3.0//21.0 3.0//2.01.0 由以上的例子,我们可以看出,两个整型相除,得到的还是整型,但是。如果一个浮点数除以一个非浮点数得到的还会是一个浮点数,但是,计算的结果却是忽略小数部分,运算的……

网友NO.227679

Python中装饰器学习总结

本文研究的主要内容是Python中装饰器相关学习总结,具体如下。 装饰器(decorator)功能 引入日志 函数执行时间统计 执行函数前预备处理 执行函数后清理功能 权限校验等场景 缓存 装饰器示例 例1:无参数的函数 from time import ctime, sleepdef timefun(func): def wrappedfunc(): print("%s called at %s"%(func.__name__, ctime())) func() return wrappedfunc@timefundef foo(): print("I am foo")foo()sleep(2)foo() 分析如下: 上面代码理解装饰器执行行为可理解成 foo = timefun(foo) 1,foo先作为参数赋值给func后,foo接收指向timefun返回的wrappedfunc 2,调用foo(),即等价调用wrappedfunc() 3,内部函数wrappedfunc被引用,所以外部函数的func变量(自由变量)并没有释放 4,func里保存的是原foo函数对象 例2:被装饰的函数有参数 from time import ctime, sleepdef timefun(func): def wrappedfunc(a, b): print("%s called at %s"%(func.__name__, ctime())) print(a, b) func(a……

<
1
>

电子书 编程教程 文档 软件 源码 视频

Copyright 2018-2020 xz577.com 码农之家

本站所有电子书资源不再提供下载地址,只分享来路

免责声明:网站所有作品均由会员网上搜集共同更新,仅供读者预览及学习交流使用,下载后请24小时内删除

版权投诉 / 书籍推广 / 赞助:QQ:520161757