對于Python網(wǎng)頁截圖這個問題吏恭,筆者網(wǎng)絡一番搜索之后蓄拣,總結(jié)了大概有如下幾種實現(xiàn)方案扬虚,
- 利用PyQT5
- 利用selenium + phantomjs
其中第二種方式的呼聲比較高,總的來說球恤,都不是特別方便辜昵。筆者最后找到了一家專門提供網(wǎng)頁截圖的第三方服務商,其中還有Python的實現(xiàn)網(wǎng)頁截圖代碼咽斧,這里介紹給大家堪置,畢竟造輪子還不是直接站在巨人的肩膀上躬存,把時間花在我們的核心業(yè)務上才是最重要的事情。
該服務有如下特點:
支持多線路
支持登錄截圖
支持UA變換
支持Cookie注入 實現(xiàn)登錄截圖
支持自定義寬高
支持網(wǎng)頁滾動截圖
支持設定截圖前的延遲時間
使用方式也很簡單舀锨,我們打開它的首頁 https://www.screenshotmaster.com/ 注冊一個賬號岭洲,然后你會在用戶中心獲取到一個唯一的Token,保存好這個Token 不要泄漏雁竞!
下面來看看它支持的參數(shù):
您可以前往API文檔頁面查看更多的參數(shù)。
使用Python調(diào)用截屏大師的接口獲取截圖:
import urllib.parse
import urllib.request
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
# 參數(shù)
token = "5f681b50d09f6"
url = urllib.parse.quote_plus("https://www.baidu.com")
width = 1280
height = 800
full_page = 1
# 構(gòu)造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)
# 調(diào)用API
urllib.request.urlretrieve(query, "./screenshot.png")