前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python网页截图/屏幕截图/截长图如何实现?

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

原创
作者头像
技术极客
修改2021-03-02 10:00:20
2.7K0
修改2021-03-02 10:00:20
举报
文章被收录于专栏:Web开发笔记

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

  • 利用PyQT5
  • 利用selenium + phantomjs

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

该服务有如下特点:

支持多线路

支持登录截图

支持UA变换

支持Cookie注入 实现登录截图

支持自定义宽高

支持网页滚动截图

支持设定截图前的延迟时间

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

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

image
image

您可以前往API文档页面查看更多的参数。

使用Python调用截屏大师的接口获取截图:

代码语言:txt
复制
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")

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档