美文网首页简书Web开发
Python网页截图/屏幕截图/截长图如何实现?

Python网页截图/屏幕截图/截长图如何实现?

作者: 萧潇在jianshu | 来源:发表于2021-03-01 18:32 被阅读0次

    对于Python网页截图这个问题,笔者网络一番搜索之后,总结了大概有如下几种实现方案,

    • 利用PyQT5
    • 利用selenium + phantomjs

    其中第二种方式的呼声比较高,总的来说,都不是特别方便。笔者最后找到了一家专门提供网页截图的第三方服务商,其中还有Python的实现网页截图代码,这里介绍给大家,毕竟造轮子还不是直接站在巨人的肩膀上,把时间花在我们的核心业务上才是最重要的事情。

    该服务有如下特点:

    支持多线路
    支持登录截图
    支持UA变换
    支持Cookie注入 实现登录截图
    支持自定义宽高
    支持网页滚动截图
    支持设定截图前的延迟时间

    使用方式也很简单,我们打开它的首页 https://www.screenshotmaster.com/ 注册一个账号,然后你会在用户中心获取到一个唯一的Token,保存好这个Token 不要泄漏!

    下面来看看它支持的参数:

    image

    您可以前往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")
    
    

    相关文章

      网友评论

        本文标题:Python网页截图/屏幕截图/截长图如何实现?

        本文链接:https://www.haomeiwen.com/subject/fvnafltx.html