对于Python网页截图这个问题,笔者网络一番搜寻之后,总结了大略有如下几种实现计划,
- 利用PyQT5
- 利用selenium + phantomjs
其中第二种形式的呼声比拟高,总的来说,都不是特地不便。笔者最初找到了一家专门提供网页截图的第三方服务商,其中还有Python的实现网页截图代码,这里介绍给大家,毕竟造轮子还不是间接站在伟人的肩膀上,把工夫花在咱们的外围业务上才是最重要的事件。
该服务有如下特点:
反对多线路
反对登录截图
反对UA变换
反对Cookie注入 实现登录截图
反对自定义宽高
反对网页滚动截图
反对设定截图前的延迟时间
应用形式也很简略,咱们关上它的首页 https://www.screenshotmaster.com/ 注册一个账号,而后你会在用户核心获取到一个惟一的Token,保留好这个Token 不要透露!
上面来看看它反对的参数:
您能够返回API文档页面查看更多的参数。
应用Python调用截屏巨匠的接口获取截图:
import urllib.parse import urllib.request import ssl ssl._create_default_https_context = ssl._create_unverified_context # 参数 token = "5f681b50d09f6" url = urllib.parse.quote_plus("https://www.baidu.com") width = 1280 height = 800 full_page = 1 # 结构URL query = "https://www.screenshotmaster.com/api/v1/screenshot" query += "?token=%s&url=%s&width=%d&height=%d&full_page=%s" % (token, url, width, height, full_page) # 调用API urllib.request.urlretrieve(query, "./screenshot.png")