首页 > 编程 > Python > 正文

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

2020-01-04 14:49:53
字体:
来源:转载
供稿:网友

本文实例为大家分享了python自动网页截图并裁剪图片的具体代码,供大家参考,具体内容如下

代码:

# coding=utf-8import timefrom selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsfrom PIL import Imageimport osall_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 driverdef 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('所有裁剪结束')

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


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表