对于Python网页截图这个问题,笔者网络一番搜索之后,总结了大概有如下几种实现方案,利用PyQT5
利用selenium + phantomjs
其中第二种方式的呼声比较高,总的来说,都不是特别方便。笔者最后找到了一家专门提供网页截图的第三方服务商,其中还有Python的实现网页截图代码,这里介绍给大家,毕竟造轮子还不是直接站在巨人的肩膀上,把时间花在我们的核心业务上才是最重要的事情。
该服务有如下特点:
支持多线路
支持登录截图
支持UA变换
支持Cookie注入 实现登录截图
支持自定义宽高
支持网页滚动截图
支持设定截图前的延迟时间
使用方式也很简单,我们打开它的首页 / 注册一个账号,然后你会在用户中心获取到一个唯一的Token,保存好这个Token 不要泄漏!
下面来看看它支持的参数:
您可以前往API文档页面查看更多的参数。
使用Python调用截屏大师的接口获取截图:importurllib.parse
importurllib.request
importssl
ssl._create_default_https_context=ssl._create_unverified_context
#参数
token="5f681b50d09f6"
url=urllib.parse.quote_plus("")
width=1280
height=800
full_page=1
#构造URL
query="/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")