diff --git a/app/MetadataResolver/XtubeResolver.php b/app/MetadataResolver/XtubeResolver.php index 322ec20..d2b3272 100644 --- a/app/MetadataResolver/XtubeResolver.php +++ b/app/MetadataResolver/XtubeResolver.php @@ -24,23 +24,19 @@ class XtubeResolver implements Resolver } $res = $this->client->get($url); - if ($res->getStatusCode() === 200) { - $html = (string) $res->getBody(); - $metadata = new Metadata(); - $crawler = new Crawler($html); + $html = (string) $res->getBody(); + $metadata = new Metadata(); + $crawler = new Crawler($html); - // poster URL抽出 - $playerConfig = explode("\n", trim($crawler->filter('#playerWrapper script')->last()->text())); - preg_match('~https:\\\/\\\/cdn\d+-s-hw-e5\.xtube\.com\\\/m=(?P.{8})\\\/videos\\\/\d{6}\\\/\d{2}\\\/.{5}-.{4}-\\\/original\\\/\d+\.jpg~', $playerConfig[0], $matches); - $metadata->image = str_replace('\/', '/', $matches[0]); + // poster URL抽出 + $playerConfig = explode("\n", trim($crawler->filter('#playerWrapper script')->last()->text())); + preg_match('~https:\\\/\\\/cdn\d+-s-hw-e5\.xtube\.com\\\/m=(?P.{8})\\\/videos\\\/\d{6}\\\/\d{2}\\\/.{5}-.{4}-\\\/original\\\/\d+\.jpg~', $playerConfig[0], $matches); + $metadata->image = str_replace('\/', '/', $matches[0]); - $metadata->title = trim($crawler->filter('.underPlayerRateForm h1')->text('')); - $metadata->description = trim($crawler->filter('.fullDescription ')->text('')); - $metadata->tags = $crawler->filter('.tagsCategories a')->extract('_text'); + $metadata->title = trim($crawler->filter('.underPlayerRateForm h1')->text('')); + $metadata->description = trim($crawler->filter('.fullDescription ')->text('')); + $metadata->tags = $crawler->filter('.tagsCategories a')->extract('_text'); - return $metadata; - } else { - throw new \RuntimeException("{$res->getStatusCode()}: $url"); - } + return $metadata; } } diff --git a/tests/Unit/MetadataResolver/XtubeResolverTest.php b/tests/Unit/MetadataResolver/XtubeResolverTest.php index 859d3d9..24b55ac 100644 --- a/tests/Unit/MetadataResolver/XtubeResolverTest.php +++ b/tests/Unit/MetadataResolver/XtubeResolverTest.php @@ -42,13 +42,4 @@ class XtubeResolverTest extends TestCase $this->createResolver(XtubeResolver::class, ''); $this->resolver->resolve('https://www.xtube.com/gallery/black-celebs-free-7686657'); } - - public function testNotOK() - { - $this->expectException(\RuntimeException::class); - $this->expectExceptionMessage('404: https://www.xtube.com/video-watch/notfound-404'); - - $this->createResolver(XtubeResolver::class, '', [], 404); - $this->resolver->resolve('https://www.xtube.com/video-watch/notfound-404'); - } }