This repository has been archived by the owner on May 2, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathapp.py
56 lines (49 loc) · 1.89 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from time import sleep
from flask import Flask, send_file, request
from selenium import webdriver
import io
driverPath="C:/Program Files (x86)/Microsoft/Edge/Application/msedgedriver.exe" #浏览器驱动器路径 参阅README
waitTime=5 #打开网页后等几秒截图
options = webdriver.EdgeOptions()
options.add_argument('--ignore-certificate-errors')
options.ignore_local_proxy_environment_variables()
options1=webdriver.EdgeOptions()#options1给长截图用
options1.add_argument('headless')
options1.add_argument('--ignore-certificate-errors')
options1.ignore_local_proxy_environment_variables()
webserver = Flask(__name__)
@webserver.route("/")
def hello_world():
return ("<img src='https://http.cat/404'>",404)
@webserver.route("/getwebpic/<path:url>")# 普通截图
def getscreenshot(url):
print("Request url:"+url)
driver = webdriver.Edge(driverPath,options=options,)
driver.set_window_size(1280,720) #改窗口大小改这里
driver.get(url)
sleep(waitTime)
driver.save_screenshot("./temp.png")
driver.quit()
with open("./temp.png", "rb") as fi:
return (send_file(
io.BytesIO(fi.read()),
mimetype='image/png'
), 200)
@webserver.route("/getwebfullpic/<path:url>")# 长截图
def getscreenshot2(url):
print("Request url:"+url)
driver = webdriver.Edge(driverPath,options=options1,)
driver.set_window_size(1920,1080)
driver.get(url)
width = driver.execute_script("return document.documentElement.scrollWidth")
height = driver.execute_script("return document.documentElement.scrollHeight")
print(width,height)
driver.set_window_size(width,height)
sleep(waitTime)
driver.save_screenshot("./temp.png")
driver.quit()
with open("./temp.png", "rb") as fi:
return (send_file(
io.BytesIO(fi.read()),
mimetype='image/png'
), 200)