Python網頁截圖/螢幕截圖/截長圖如何實現?

蕭瀟發表於2021-03-01

對於Python網頁截圖這個問題,筆者網路一番搜尋之後,總結了大概有如下幾種實現方案,

  • 利用PyQT5

  • 利用selenium + phantomjs

    其中第二種方式的呼聲比較高,總的來說,都不是特別方便。筆者最後找到了一家專門提供網頁截圖的第三方服務商,其中還有Python的實現網頁截圖程式碼,這裡介紹給大家,畢竟造輪子還不是直接站在巨人的肩膀上,把時間花在我們的核心業務上才是最重要的事情。

該服務有如下特點:

  • 支援多線路
  • 支援登入截圖
  • 支援UA變換
  • 支援Cookie注入 實現登入截圖
  • 支援自定義寬高
  • 支援網頁滾動截圖
  • 支援設定截圖前的延遲時間

使用方式也很簡單,我們開啟它的首頁 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")
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章