用網頁截圖API介面自動產生網頁截圖
背景
最近在開發一個小程序,其中有一個幫助模組,內容為幫助文章列表,文章內容為網站後台編輯的富文本格式。鑑於小程式的特殊性,其對html格式的富文本支援並不友善。
剛開始有人開發了wxparse插件,後來微信提供了rich-text元件,但這兩者有一些問題。
想法
後台編輯的文章樣式經過wxparse或richtext元件顯示後,都存在一些相容性問題。如果我們將文章內容做成圖片,然後用image來下顯示應該可以達到比較理想的效果。
但沒一篇文章都找美工區設計一張圖片費時費力,修改還費勁。
如果我們後台編輯的文章能自動產生一個圖片就完美了。
方案
查詢後發現國外網站thumb.io提供了類似的服務,可以利用API介面將指定位址儲存為圖片。但是經過測試發現圖片並不清晰,而且訪問速度非常慢。然後我就自己安裝了phantomjs並進行了測試,效果比較理想。
用phantomjs儲存的百度首頁截圖
為了實現自動化,我還做了web api。透過將對應文章的網址傳送到指定的api就可以自動產生截圖(非同步方式)。具體方法就是有截圖請求的時候,將請求儲存到資料庫,然後伺服器上跑一個程式挨個執行截圖操作,截圖後修改對應請求的狀態。
-------------------------------------------- --------
API介面({}中的內容為參數值)
使用方法:將需要截圖的網址傳遞到透過產生截圖請求接口,一段時間(建議10秒)後再透過查詢接口查詢,如果返回的code=0,status=1的時候,直接將thumb儲存到本地即可。
產生截圖請求:http://thumb.loxn.cn/?url={URL}
參數必須進行說明:URL參數必須進行urlencode,否則可能出錯
實例:http://thumb.loxn.cn/?url=http%3a%2f%2fwww.cnblogs.com%2fdragondean%2f
## 格式 code 0 成功,1 網址格式錯誤,2 網址已存在##
## task_id 任務ID,查詢狀態時需要用到(code為0或2時) key 查詢秘鑰,查詢狀態時需要用到(code為0或2# 任務 ,如果任務已存在則會回到此狀態,-1表示失敗,0表示處理中,1表示已完成
thumb 截圖位址,可直接將此圖片下載到本地(code為2且status1時)
err_msg 錯誤訊息,僅status=-1時存在
#查詢任務狀態
:http://thumb.loxn.D.
###id=##: &key={KEY} 說明:task_id和key都是生成請求時返回,必填
實例:http://thumb.loxn.C./?a=query&pask:http://thumb.loxn.C. eb8578633e5cb22377ee85641204494f
回傳:JSON
公鑰 行錯誤。
status code為0時,status=-1表示失敗,status=0表示處理中,status=1表示已完成 thumb code位元0且status為1時,截取 錯誤訊息,僅status=-1時存在 ---------------------------------- ----------------以上是用網頁截圖API介面自動產生網頁截圖的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

我們在電腦組裝的過程中,安裝過程雖然簡單,不過往往都是在接線上遇到問題,經常有裝機用戶誤將CPU散熱器的供電線插到了SYS_FAN上,雖然風扇可以轉動,不過在開機可能會有F1報錯“CPUFanError”,同時也導致了CPU散熱器無法智慧調速。下面裝機之家分享一下電腦主機板上CPU_FAN、SYS_FAN、CHA_FAN、CPU_OPT介面知識科普。電腦主機板上CPU_FAN、SYS_FAN、CHA_FAN、CPU_OPT介面知識科普1、CPU_FANCPU_FAN是CPU散熱器專用接口,12V工作

Go語言作為一門現代化的、高效的程式語言,擁有豐富的程式設計範式和設計模式可以幫助開發者編寫高品質、可維護的程式碼。本文將介紹Go語言中常見的程式設計範式和設計模式,並提供具體的程式碼範例。 1.物件導向程式設計在Go語言中,可以使用結構體和方法實現物件導向程式設計。透過定義結構體和給結構體綁定方法,可以實現資料封裝和行為綁定在一起的物件導向特性。 packagemaini

Oracle是一家全球知名的資料庫管理系統供應商,其API(ApplicationProgrammingInterface,應用程式介面)是一種強大的工具,可協助開發人員輕鬆地與Oracle資料庫互動和整合。在本文中,我們將深入探討OracleAPI的使用指南,向讀者展示如何在開發過程中利用資料介面技術,同時提供具體的程式碼範例。 1.Oracle

OracleAPI整合策略解析:實現系統間無縫通信,需要具體程式碼範例在當今數位化時代,企業內部系統之間需要相互通信和資料共享,而OracleAPI就是幫助實現系統間無縫通信的重要工具之一。本文將從OracleAPI的基本概念和原則入手,探討API整合的策略,最終給出具體的程式碼範例幫助讀者更好地理解和應用OracleAPI。一、OracleAPI基本

WPS是一款功能強大的辦公室軟體,可幫助我們有效率地完成各種辦公室任務。其中,自動產生目錄頁碼是一項非常實用的功能。能極大的為用戶們提高自己的工作效率,那麼下面本站小編就帶來本文詳細為大家介紹一下如何使用WPS自動生成目錄頁碼,希望能幫助到各位有需要的小伙伴們。 wps目錄怎麼自動產生目錄頁碼先開啟wps群文檔,在空白處輸入要產生目錄的內容,然後在開始功能表列中選擇標題1、標題2、標題3的樣式。 2.然後設定好之後我們點選其中的【引用】功能,點選之後在引用的工具列中,在這裡我們點選【目錄】;3、最後點擊

標題:如何處理LaravelAPI報錯問題,需要具體程式碼範例在進行Laravel開發時,常會遇到API報錯的情況。這些報錯可能來自於程式碼邏輯錯誤、資料庫查詢問題或是外部API請求失敗等多種原因。如何處理這些報錯是一個關鍵的問題,本文將透過具體的程式碼範例來示範如何有效處理LaravelAPI報錯問題。 1.錯誤處理在Laravel

PHP介面簡介及其定義方式PHP是一種廣泛應用於Web開發的開源腳本語言,具有靈活、簡單、強大等特性。在PHP中,介面(interface)是一種定義多個類別之間公共方法的工具,實現了多態性,讓程式碼更加靈活和可重複使用。本文將介紹PHP介面的概念及其定義方式,同時提供具體的程式碼範例展示其用法。 1.PHP介面概念介面在物件導向程式設計中扮演著重要的角色,定義了類別應

報錯的原因在python中,Tornado中拋出NotImplementedError()的原因可能是因為未實作某個抽象方法或介面。這些方法或介面在父類別中聲明,但在子類別中未實作。子類別需要實作這些方法或介面才能正常運作。如何解決解決這個問題的方法是在子類別中實作父類別聲明的抽象方法或介面。如果您正在使用一個類別來繼承另一個類,並且您看到了這個錯誤,則應該在子類別中實作父類別中所有聲明的抽象方法。如果您正在使用一個接口,並且您看到了這個錯誤,則應該在實作該接口的類別中實作該接口中所有聲明的方法。如果您不確定哪些
