php抓取网页所有图片( 2018-07-30python自动网页截图 )

优采云 发布时间: 2021-11-14 08:09

  php抓取网页所有图片(

2018-07-30python自动网页截图

)

  Python实现网页自动截图和裁剪图片

  时间:2018-07-30

  本文文章主要详细介绍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('所有裁剪结束')

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

  热门文章

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线