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('所有裁剪结束')
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。