200でなかったときのテストを削除
4xxや5xxの場合は`\GuzzleHttp\Exception\BadResponseException`が発生するので、今まであったelseのところには到達しなかった
This commit is contained in:
parent
0f530099b4
commit
c0b76e522b
@ -24,23 +24,19 @@ class XtubeResolver implements Resolver
|
|||||||
}
|
}
|
||||||
|
|
||||||
$res = $this->client->get($url);
|
$res = $this->client->get($url);
|
||||||
if ($res->getStatusCode() === 200) {
|
$html = (string) $res->getBody();
|
||||||
$html = (string) $res->getBody();
|
$metadata = new Metadata();
|
||||||
$metadata = new Metadata();
|
$crawler = new Crawler($html);
|
||||||
$crawler = new Crawler($html);
|
|
||||||
|
|
||||||
// poster URL抽出
|
// poster URL抽出
|
||||||
$playerConfig = explode("\n", trim($crawler->filter('#playerWrapper script')->last()->text()));
|
$playerConfig = explode("\n", trim($crawler->filter('#playerWrapper script')->last()->text()));
|
||||||
preg_match('~https:\\\/\\\/cdn\d+-s-hw-e5\.xtube\.com\\\/m=(?P<size>.{8})\\\/videos\\\/\d{6}\\\/\d{2}\\\/.{5}-.{4}-\\\/original\\\/\d+\.jpg~', $playerConfig[0], $matches);
|
preg_match('~https:\\\/\\\/cdn\d+-s-hw-e5\.xtube\.com\\\/m=(?P<size>.{8})\\\/videos\\\/\d{6}\\\/\d{2}\\\/.{5}-.{4}-\\\/original\\\/\d+\.jpg~', $playerConfig[0], $matches);
|
||||||
$metadata->image = str_replace('\/', '/', $matches[0]);
|
$metadata->image = str_replace('\/', '/', $matches[0]);
|
||||||
|
|
||||||
$metadata->title = trim($crawler->filter('.underPlayerRateForm h1')->text(''));
|
$metadata->title = trim($crawler->filter('.underPlayerRateForm h1')->text(''));
|
||||||
$metadata->description = trim($crawler->filter('.fullDescription ')->text(''));
|
$metadata->description = trim($crawler->filter('.fullDescription ')->text(''));
|
||||||
$metadata->tags = $crawler->filter('.tagsCategories a')->extract('_text');
|
$metadata->tags = $crawler->filter('.tagsCategories a')->extract('_text');
|
||||||
|
|
||||||
return $metadata;
|
return $metadata;
|
||||||
} else {
|
|
||||||
throw new \RuntimeException("{$res->getStatusCode()}: $url");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,13 +42,4 @@ class XtubeResolverTest extends TestCase
|
|||||||
$this->createResolver(XtubeResolver::class, '');
|
$this->createResolver(XtubeResolver::class, '');
|
||||||
$this->resolver->resolve('https://www.xtube.com/gallery/black-celebs-free-7686657');
|
$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');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user