javtube-sdk-go - ゴランのちょうど別のビデオチューブSDK。

(Just Another Video Tube SDK in Golang.)

Created at: 2022-04-29 15:51:39
Language: Go
License: GPL-3.0

JavTube SDK Go

ビルドステータス レポートカードに移動 Go バージョンが必要 GitHub ライセンス タグ

ゴランのちょうど別のビデオチューブSDK。

内容

顔立ち

  • サポートされるプラットフォーム
    • リナックス
    • ダーウィン
    • ウィンドウズ
    • ティッカー
  • サポートされているデータベース
  • 画像処理
    • 自動トリミング
    • バッジのサポート
    • 顔検出
    • 画像ハッシュ
  • レストフル API
  • 20以上のプロバイダー
  • テキストの翻訳

取り付け

このパッケージをインストールするには、まずGo がインストールされている必要があり (バージョン 1.19+ が必要です)、次に以下の Go コマンドを使用して SDK をインストールできます。

go get -u github.com/javtube/javtube-sdk-go

クイックスタート

# assume the following codes in example.go file
$ cat example.go
package main

import (
	"fmt"
	"log"

	"github.com/javtube/javtube-sdk-go/engine"
)

func main() {
	app := engine.Default()

	results, err := app.SearchMovieAll("GVH-466", false)
	if err != nil {
		log.Fatal(err)
	}

	for _, result := range results {
		fmt.Println(result.Provider, result.ID, result.Number, result.Title)
	}
}
# run example.go and see output on console
$ go run example.go

API の例

詳細な例は、例フォルダまたはcmdフォルダ内の特定の実装にあります。

SDK エンジンを手動で開始する

package main

import (
	"log"
	"time"

	"github.com/javtube/javtube-sdk-go/database"
	"github.com/javtube/javtube-sdk-go/engine"
)

func main() {
	// Open database using in-memory SQLite.
	db, _ := database.Open(&database.Config{
		DSN:		  ":memory:",
		PreparedStmt: false,
	})

	// Allocate app engine with request timeout set to one minute.
	app := engine.New(db, time.Minute)

	// Initiate DB tables, only required at the first time.
	if err := app.AutoMigrate(true); err != nil {
		log.Fatal(err)
	}
}

俳優情報の検索と取得

func main() {
	app := engine.Default()
	
	// Search actor named `ひなたまりん` from Xs/List with fallback enabled.
	app.SearchActor("ひなたまりん", xslist.Name, true)
	
	// Search actor named `一ノ瀬もも` from all available providers with fallback enabled.
	app.SearchActorAll("一ノ瀬もも", true)
	
	// Get actor metadata id `5085` from Xs/List with lazy enabled.
	app.GetActorInfoByProviderID(xslist.Name, "5085", true)
	
	// Get actor metadata from given URL with lazy enabled.
	app.GetActorInfoByURL("https://xslist.org/zh/model/15659.html", true)
}

映画情報を検索して取得する

func main() {
	app := engine.Default()
	
	// Search movie named `ABP-330` from JavBus with fallback enabled.
	app.SearchMovie("ABP-330", javbus.Name, true)
	
	// Search movie named `SSIS-110` from all available providers with fallback enabled.
	// Option fallback will search the database for movie info if the corresponding providers
	// fail to return valid metadata.
	app.SearchMovieAll("SSIS-110", true)
	
	// Get movie metadata id `1252925` from ARZON with lazy enable.
	// With the lazy option set to true, it will first try to search the database and return
	// the info directly if it exists. If the lazy option is set to false, it will fetch info
	// from the given provider and update the database.
	app.GetMovieInfoByProviderID(arzon.Name, "1252925", true)
	
	// Get movie metadata from given URL with lazy enabled.
	app.GetMovieInfoByURL("https://www.heyzo.com/moviepages/2189/index.html", true)
}

俳優と映画の画像を取得する

func main() {
	app := engine.Default()
	
	// Get actor primary image id `24490` from Xs/List.
	app.GetActorPrimaryImage(xslist.Name, "24490")
	
	// Get movie primary image id `hmn00268` from FANZA with aspect ratio and pos set to default.
	app.GetMoviePrimaryImage(fanza.Name, "hmn00268", -1, -1)
	
	// Get movie primary image id `hmn00268` from FANZA with aspect ratio set to 7:10 and pos
	// set to the center.
	app.GetMoviePrimaryImage(fanza.Name, "hmn00268", 0.70, 0.5)
	
	// Get movie backdrop image id `DLDSS-077` from SOD.
	app.GetMovieBackdropImage(sod.Name, "DLDSS-077")
}

テキスト翻訳エンジン

package main

import (
	"github.com/javtube/javtube-sdk-go/translate"
)

func main() {
	var (
		appId  = "XXX"
		appKey = "XXX"
	)
	// Translate `Hello` from auto to Japanese by Baidu.
	translate.BaiduTranslate("Hello", "auto", "ja", appId, appKey)

	var apiKey = "XXX"
	// Translate `Hello` from auto to simplified Chinese by Google.
	translate.GoogleTranslate("Hello", "auto", "zh-cn", apiKey)
}

クレジット

図書館 説明: __________
ゴコリー/コリー Golangのためのエレガントなスクレーパーとクローラフレームワーク
ジンゴニック/ジン Gin は Go で書かれた HTTP ウェブフレームワークです。
gorm.io/gorm ゴランのための素晴らしいORMライブラリ
エシモフ/ピゴ 純粋な囲碁での高速顔検出、瞳孔/目のローカリゼーション、顔のランドマークポイント検出ライブラリ
modernc.org/sqlite パッケージ sqlite は SQLite/SQLite3 の CGo フリーの移植版です。
コロナ10/ゴーイメージハッシュ Go 知覚画像ハッシュパッケージ
antchfx/xpath Golang 用の XPath パッケージは、HTML、XML、JSON ドキュメントクエリをサポートしています。

ライセンス

GNU GPLv3ライセンス