From 4e1eec66bee6c1999fea5f029c1f6d0a69580b1f Mon Sep 17 00:00:00 2001 From: Eai Date: Fri, 18 Jan 2019 00:16:02 +0900 Subject: [PATCH] =?UTF-8?q?FanzaResolver=E8=BF=BD=E5=8A=A0=20(#43)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FanzaのOGP画像は `ps.jpg` か `pr.jpg` で終わっている。 `pl.jpg` で高解像度なものが取得できる。 --- app/MetadataResolver/FanzaResolver.php | 21 +++++++++++++++++++++ app/MetadataResolver/MetadataResolver.php | 1 + 2 files changed, 22 insertions(+) create mode 100644 app/MetadataResolver/FanzaResolver.php diff --git a/app/MetadataResolver/FanzaResolver.php b/app/MetadataResolver/FanzaResolver.php new file mode 100644 index 0000000..4f4941d --- /dev/null +++ b/app/MetadataResolver/FanzaResolver.php @@ -0,0 +1,21 @@ +get($url); + if ($res->getStatusCode() === 200) { + $ogpResolver = new OGPResolver(); + $metadata = $ogpResolver->parse($res->getBody()); + $metadata->image = preg_replace("~(pr|ps)\.jpg$~", "pl.jpg", $metadata->image); + + return $metadata; + } else { + throw new \RuntimeException("{$res->getStatusCode()}: $url"); + } + } +} diff --git a/app/MetadataResolver/MetadataResolver.php b/app/MetadataResolver/MetadataResolver.php index f1f43ed..3074f61 100644 --- a/app/MetadataResolver/MetadataResolver.php +++ b/app/MetadataResolver/MetadataResolver.php @@ -14,6 +14,7 @@ class MetadataResolver implements Resolver '~www\.dlsite\.com/.*/work/=/product_id/..\d+\.html~' => DLsiteResolver::class, '~www\.pixiv\.net/member_illust\.php\?illust_id=\d+~' => PixivResolver::class, '~fantia\.jp/posts/\d+~' => FantiaResolver::class, + '~dmm\.co\.jp/~' => FanzaResolver::class, '/.*/' => OGPResolver::class ];