python实现自动网页截图并裁剪图片
本文实例为大家分享了python自动网页截图并裁剪图片的具体代码,供大家参考,具体内容如下
代码:
#coding=utf-8 importtime fromseleniumimportwebdriver fromselenium.webdriver.chrome.optionsimportOptions fromPILimportImage importos all_urls=['http:/****edit'] deflogin(): 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('跳转到创意编辑页面中...') returndriver defget_screen(driver,urls): count=1 forurlinurls: 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)) defcrop_img(): forimginos.listdir('./screen_shot'): ifimg.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('所有裁剪结束')
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。