Merge pull request #558 from eai04191/fix-cien-resolver

Fix Cien resolver
This commit is contained in:
shibafu 2020-12-07 08:33:14 +09:00 committed by GitHub
commit 9c9db69662
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 2124 additions and 1259 deletions

View File

@ -4,6 +4,7 @@ namespace App\MetadataResolver;
use Carbon\Carbon;
use GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;
class CienResolver extends MetadataResolver
{
@ -25,20 +26,27 @@ class CienResolver extends MetadataResolver
public function resolve(string $url): Metadata
{
$res = $this->client->get($url);
$metadata = $this->ogpResolver->parse((string) $res->getBody());
$html = (string) $res->getBody();
$metadata = $this->ogpResolver->parse($html);
$crawler = new Crawler($html);
// 画像URLのJWTから有効期限を拾う
// OGPのデフォルトはバナーなので、投稿に使える画像があればそれを使う
$selector = 'img[data-actual*="image-web"]';
if ($crawler->filter($selector)->count() !== 0) {
$metadata->image = $crawler->filter($selector)->attr('data-actual');
}
// JWTがついていれば画像URLのJWTから有効期限を拾う
parse_str(parse_url($metadata->image, PHP_URL_QUERY), $params);
if (empty($params['jwt'])) {
throw new \RuntimeException('Parameter "jwt" not found. Image=' . $metadata->image . ' Source=' . $url);
}
$parts = explode('.', $params['jwt']);
if (count($parts) !== 3) {
throw new \RuntimeException('Invalid jwt. Image=' . $metadata->image . ' Source=' . $url);
}
$payload = json_decode(base64_decode(str_replace(['-', '_'], ['+', '/'], $parts[1])), true);
if (isset($params['jwt'])) {
$parts = explode('.', $params['jwt']);
if (count($parts) !== 3) {
throw new \RuntimeException('Invalid jwt. Image=' . $metadata->image . ' Source=' . $url);
}
$payload = json_decode(base64_decode(str_replace(['-', '_'], ['+', '/'], $parts[1])), true);
$metadata->expires_at = Carbon::createFromTimestamp($payload['exp']);
$metadata->expires_at = Carbon::createFromTimestamp($payload['exp']);
}
return $metadata;
}

View File

@ -25,24 +25,29 @@ class CienResolverTest extends TestCase
$this->createResolver(CienResolver::class, $responseText);
$metadata = $this->resolver->resolve('https://ci-en.dlsite.com/creator/2462/article/87502');
$this->assertSame('進捗とボツ立ち絵 - ねんない5 - Ci-en(シエン)', $metadata->title);
$this->assertSame('今日のサムネイルはストアページに掲載する予定のキャラクター紹介画像です。 ドットでない解像度の高いイラストは時間も体力も精神力もかかるので、こういうのを行うタスクを開発終盤に残さないでよかったと本気……', $metadata->description);
$this->assertStringStartsWith('https://media.ci-en.jp/private/attachment/creator/00002462/a7afd3b02a6d1caa6afe6a3bf5550fb6a42aefba686f17a0a2f63c97fd6867ab/image-800.jpg?jwt=', $metadata->image);
$this->assertSame('進捗とボツ立ち絵 - ねんない5 - Ci-en', $metadata->title);
$this->assertSame('ドット製D ACTを製作しています。' . PHP_EOL . '恐ろしい存在に襲われる絶望感や、被虐的な官能がテーマです。', $metadata->description);
$this->assertStringStartsWith('https://media.ci-en.jp/private/attachment/creator/00002462/a7afd3b02a6d1caa6afe6a3bf5550fb6a42aefba686f17a0a2f63c97fd6867ab/image-web.jpg?jwt=', $metadata->image);
if ($this->shouldUseMock()) {
$this->assertSame('https://media.ci-en.jp/private/attachment/creator/00002462/a7afd3b02a6d1caa6afe6a3bf5550fb6a42aefba686f17a0a2f63c97fd6867ab/image-800.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJrZXkiOiJqd3RhdXRoX3NlY18yMDIwT2N0IiwiaXNzIjoiaHR0cHM6XC9cL2NpLWVuLmRsc2l0ZS5jb21cLyIsInN1YiI6IjAwMDAwMDAwMDAwIiwiYXVkIjoiYTdhZmQzYjAyYTZkMWNhYTZhZmU2YTNiZjU1NTBmYjZhNDJhZWZiYTY4NmYxN2EwYTJmNjNjOTdmZDY4NjdhYiIsImV4cCI6MTYwMjk5NTIyMX0.bXUG2T6nXl4hdvsvt1wkIMvbbBdsKk-xbwB6SaxARZA', $metadata->image);
$this->assertSame(1602995221, $metadata->expires_at->timestamp);
$this->assertSame('https://media.ci-en.jp/private/attachment/creator/00002462/a7afd3b02a6d1caa6afe6a3bf5550fb6a42aefba686f17a0a2f63c97fd6867ab/image-web.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJrZXkiOiJqd3RhdXRoX3NlY18yMDIwT2N0IiwiaXNzIjoiaHR0cHM6XC9cL2NpLWVuLmRsc2l0ZS5jb21cLyIsInN1YiI6IjAwMDAwMDAwMDAwIiwiYXVkIjoiYTdhZmQzYjAyYTZkMWNhYTZhZmU2YTNiZjU1NTBmYjZhNDJhZWZiYTY4NmYxN2EwYTJmNjNjOTdmZDY4NjdhYiIsImV4cCI6MTYwNzA2NzMyOX0.-462_WtZ6AUOxrfndBE-0_oWHKwesP9mMMn6K2oYQJM', $metadata->image);
$this->assertSame(1607067329, $metadata->expires_at->timestamp);
$this->assertSame('https://ci-en.dlsite.com/creator/2462/article/87502', (string) $this->handler->getLastRequest()->getUri());
}
}
public function testWithNoTimestamp()
public function testWithNoPostImage()
{
$responseText = $this->fetchSnapshot(__DIR__ . '/../../fixture/Cien/testWithNoTimestamp.html');
$responseText = $this->fetchSnapshot(__DIR__ . '/../../fixture/Cien/testWithNoPostImage.html');
$this->createResolver(CienResolver::class, $responseText);
$this->expectException(\RuntimeException::class);
$this->expectExceptionMessage('Parameter "jwt" not found. Image=https://ci-en.dlsite.com/assets/img/common/logo_Ci-en_R18.svg Source=https://ci-en.dlsite.com/');
$this->resolver->resolve('https://ci-en.dlsite.com/');
$metadata = $this->resolver->resolve('https://ci-en.dlsite.com/creator/148/article/401866');
$this->assertSame('近況報告 - 薄稀 - Ci-en', $metadata->title);
$this->assertSame('サキュバスをはじめ、M向けの魔物娘をよく描くエロ絵描きです(´ω`)', $metadata->description);
$this->assertSame('https://media.ci-en.jp/public/cover/creator/00000148/9153a13f78591bc2c9efae1021a26f9b90d24d3b30a0b3e699d0050f09dab6df/image-990-c.jpg', $metadata->image);
if ($this->shouldUseMock()) {
$this->assertNull($metadata->expires_at);
$this->assertSame('https://ci-en.dlsite.com/creator/148/article/401866', (string) $this->handler->getLastRequest()->getUri());
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,602 +0,0 @@
<!DOCTYPE html>
<html lang="ja">
<head>
<meta name="google-site-verification" content="4UtUmaro4aJIR94PZdv-GoliXlDvtUVFL03-9CTh68s" />
<meta charset="UTF-8">
<meta name="viewport" id="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, viewport-fit=cover">
<meta name="csrf-token" content="1UAeVYZqG3XqR5XwRi0MXYJn3zIf51glrKZKY2gp">
<meta name="app-auth-check" content="0">
<meta property="og:title" content="Ci-en">
<meta property="og:type" content="website">
<meta property="og:url" content="http://ci-en.dlsite.com">
<meta property="og:image" content="https://ci-en.dlsite.com/assets/img/common/logo_Ci-en_R18.svg">
<meta property="og:site_name" content="Ci-en">
<meta property="og:description" content="好きの気持ちは、カタチで伝えよう。">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Ci-en">
<meta name="twitter:description" content="好きの気持ちは、カタチで伝えよう。">
<meta name="twitter:image:src" content="https://ci-en.dlsite.com/assets/img/common/logo_Ci-en_R18.svg">
<meta name="description" content="好きの気持ちは、カタチで伝えよう。">
<meta name="keyword" content="Ci-en">
<meta name="sentry-public-dsn" content="7319f62f11fe408b932254c5fe87eb64@sentry.io/301968">
<meta name="sentry-release" content="fd2635a6350eda85e4dbec5559f0172e7f8086df">
<meta name="app-locale" content="ja">
<title>好きの気持ちは、カタチで伝えよう。 - Ci-en</title>
<link media="all" type="text/css" rel="stylesheet" href="https://ci-en.dlsite.com/assets/css/app.css?1567667013">
<link rel="icon" href="/favicon.ico">
<link rel="stylesheet" href="https://www.dlsite.com/assets/share/css/universal/universal.css">
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-NNPHW5Z');</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-109913020-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-109913020-1', {
'send_page_view': false,
'custom_map': {
'dimension1':'logined',
},
});
gtag('set', 'linker', {
'accept_incoming': true,
'domains': ['ci-en.net','ci-en.dlsite.com']
});
gtag('event', 'page_view', {
'logined': '',
'has_creator': '0',
});
</script>
</head>
<body class="global-layout p-topPage ">
<!-- グローバルヘッダー -->
<div class="l-eisysGroupHeader type-cien">
<vue-global-header
account-settings-url="https://login.dlsite.com/user/self?redirect_uri=https%3A%2F%2Fci-en.dlsite.com%2Flogout&amp;lang=ja"
is-adult="1"
user-id=""
creator-id=""
></vue-global-header>
</div>
<header class="global-layout-item type-header">
<div class="header-inner">
<div class="cien-logo type-r18">
<a href="/">Ci-en</a>
</div>
<form method="GET" action="https://ci-en.dlsite.com/search" accept-charset="UTF-8" class="hd-searchBox">
<input type="text" class="hd-searchInput" name="keyword" placeholder="クリエイターを検索">
<input type="submit" class="hd-searchButton" value="&#xe90f;">
</form>
<div class="nav-drawer type-menu">
<input id="nav-inputMenu" type="checkbox" class="nav-unshown">
<label id="nav-open" for="nav-inputMenu">
<span></span>
</label>
<label class="nav-unshown icon-navClose" id="nav-close" for="nav-inputMenu"><span></span></label>
<div class="nav-content type-left">
<div class="navEntry">
<p class="text">DLsiteアカウントをお持ちの方はログインできます。</p>
<div class="btnBox">
<a href="https://ci-en.dlsite.com/login" class="btn type-basic">ログイン</a>
<a href="https://ci-en.dlsite.com/login" class="btn type-important">新規登録</a>
</div>
<p class="notice">株式会社エイシスが運営しているサービスをDLsiteアカウント一つでご利用いただけます。</p>
</div>
<ul class="nav-submenuList">
<li class="nav-submenuList-item"><a href="https://ci-en.dlsite.com/about/supporter">Ci-enとは</a></li>
<li class="nav-submenuList-item"><a href="https://ci-en.dlsite.com/about/creator">クリエイター登録</a></li>
<li class="nav-submenuList-item"><a href="https://ci-en.dlsite.com/about/faq">よくある質問</a></li>
</ul>
</div>
</div>
<div class="globalNav-wrap">
<ul class="globalNav is-guest">
<li class="globalNav-item type-bell">
<a href="https://ci-en.dlsite.com/mypage/activity">
<span class="globalNav-icon">通知</span>
</a>
</li>
<li class="globalNav-item type-searchBox">
<form method="GET" action="https://ci-en.dlsite.com/search" accept-charset="UTF-8" class="hd-search">
<input type="submit" class="hd-searchButton" value="&#xe90f;">
<input type="text" class="hd-searchInput" name="keyword" placeholder="クリエイターを検索">
</form>
</li>
<li class="globalNav-item type-search ">
<a href="https://ci-en.dlsite.com/search/top">
<span class="globalNav-icon"></span>
</a>
</li>
<li class="globalNav-item type-signup">
<a href="https://ci-en.dlsite.com/login">Ci-enをはじめる</a>
</li>
<li class="globalNav-item type-mypage">
<a href="https://ci-en.dlsite.com/mypage">
<span class="globalNav-icon">マイページ</span>
</a>
</li>
<li class="globalNav-item type-help">
<a href="https://ci-en.dlsite.com/about/faq">
<span class="globalNav-icon">ヘルプ</span>
</a>
</li>
</ul>
</div>
</div>
</header>
<section class="global-layout-item type-contentsNav">
</section>
<section id="detail" class="global-layout-item type-contents">
<section class="grid-container inner-layout">
<div class="topHeroArea" onload="console.log('loaded');">
<h1 class="topCatchcopy">
<div class="catchcopy-item type-first"></div>
<div class="catchcopy-item type-last"></div>
</h1>
<div id="top-heroarea-mainimg" class="topHeroArea-mainImg">
<div class="mainImg-item item-twinkleStar"></div>
<div class="mainImg-item item-twinkleStar1"></div>
<div class="mainImg-item item-twinkleStar2"></div>
<div class="mainImg-item item-star"></div>
<div class="topHeroArea-gradeFilter"></div>
<div class="mainImg-item item-wood"></div>
<div class="mainImg-item item-donguri"></div>
<div class="mainImg-item item-present"></div>
<div class="mainImg-item item-letter"></div>
</div>
</div>
<div class="grid-item grid-main">
<div class="topIntroArea">
<h1 class="topIntroArea-heading"></h1>
<div class="topIntroArea-textGroup">
<p class="text">新しいものを作るのは、簡単なことではありません。<span>思いを形にするには時間と手間、そして資金が必要です。</span></p>
<p class="text">Ci-enで好きなクリエイターを支援すれば、<span>その収益を創作活動に活かすことができるようになります。</span></p>
<p class="text">クリエイターも支援者も、誰もが創作を楽しめる世界に参加してみませんか?</p>
</div>
<div class="topIntroArea-btn">
<a href="https://login.dlsite.com/register?redirect_uri=https%3A%2F%2Fci-en.dlsite.com&amp;lang=ja" class="btn type-important-confirm">Ci-enをはじめる</a>
</div>
</div>
<div class="topAboutCienArea">
<div class="topAboutCienArea-main"></div>
<div class="topAboutCienArea-btn">
<a href="https://ci-en.dlsite.com/about/supporter" class="btn type-confirm">もっと知りたい方はこちら</a>
</div>
</div>
<div id="follow" class="topLetsFollowArea">
<div class="topLetsFollowArea-heading"></div>
<div class="topLetsFollowArea-body">
<div class="topShowcase type-popularCreator">
<div class="topShowcase-heading">
<a href="//ci-en.net#follow" class="btn type-topRatingChange">全年齢に切替</a>
</div>
<div class="topShowcase-body">
<div class="mod-creatorCard at-topPage">
<div class="creatorCard-header">
<img src="https://media.ci-en.jp/public/cover/creator/00000208/6742fc1b379a180e4485cdeff9a086d535725683ca882155b400bc65ab13ed3e/image-990-c.jpg" alt="">
</div>
<div class="creatorCard-body">
<dt class="creatorCard-thumb">
<div class="accountIcon type-cerator size-m">
<img src="https://media.ci-en.jp/public/icon/creator/00000208/6f0dac0278bbb547e97b0deddd2aad22043d6b9ce8cde868b99e543d7dc1ec9f/image-200-c.jpg" alt="">
</div>
</dt>
<dd class="creatorCard-name">ONEONE1</dd>
<dd class="creatorCard-tag">
<ul class="tagList type-creator">
<li class="tagList-item type-creator">
<a class="item-tag type-activityGenre" href="/search?categoryId=9">ゲーム</a>
</li>
</ul>
</dd>
</div>
<a href="https://ci-en.dlsite.com/creator/208" class="creatorCard-link"></a>
</div>
<div class="mod-creatorCard at-topPage">
<div class="creatorCard-header">
<img src="https://media.ci-en.jp/public/cover/creator/00001145/4f39516e4f22c76b45443b5567789419d8d0ea985958cd26adea88cf79c95fd3/image-990-c.jpg" alt="">
</div>
<div class="creatorCard-body">
<dt class="creatorCard-thumb">
<div class="accountIcon type-cerator size-m">
<img src="https://media.ci-en.jp/public/icon/creator/00001145/5c18c657f97e23ea73a700784f55c2e34b1871e532b45e32118ee57a6c2cb677/image-200-c.jpg" alt="">
</div>
</dt>
<dd class="creatorCard-name">同人サークルGyu!</dd>
<dd class="creatorCard-tag">
<ul class="tagList type-creator">
<li class="tagList-item type-creator">
<a class="item-tag type-activityGenre" href="/search?categoryId=9">ゲーム</a>
</li>
</ul>
</dd>
</div>
<a href="https://ci-en.dlsite.com/creator/1145" class="creatorCard-link"></a>
</div>
<div class="mod-creatorCard at-topPage">
<div class="creatorCard-header">
<img src="https://media.ci-en.jp/public/cover/creator/00000057/a8c0cf4f84fc374e9ba5891ee2a158a69067eee0d3601a66e1e00489df4df25d/image-990-c.jpg" alt="">
</div>
<div class="creatorCard-body">
<dt class="creatorCard-thumb">
<div class="accountIcon type-cerator size-m">
<img src="https://media.ci-en.jp/public/icon/creator/00000057/72fbd8b3e2124f88de11866d21a23c6e4ff375e62dba50c517f537655ff2e981/image-200-c.jpg" alt="">
</div>
</dt>
<dd class="creatorCard-name">クリメニア</dd>
<dd class="creatorCard-tag">
<ul class="tagList type-creator">
<li class="tagList-item type-creator">
<a class="item-tag type-activityGenre" href="/search?categoryId=9">ゲーム</a>
</li>
</ul>
</dd>
</div>
<a href="https://ci-en.dlsite.com/creator/57" class="creatorCard-link"></a>
</div>
<div class="mod-creatorCard at-topPage">
<div class="creatorCard-header">
<img src="https://media.ci-en.jp/public/cover/creator/00001321/5e327eb84b4ce6a36be637729b000ba74a9b27f35273f08a30b86e464ee1e25e/image-990-c.jpg" alt="">
</div>
<div class="creatorCard-body">
<dt class="creatorCard-thumb">
<div class="accountIcon type-cerator size-m">
<img src="https://media.ci-en.jp/public/icon/creator/00001321/60557adcbb149f7494c6aed36f3d44373896a971b997af3e4e02a650f70f5cbe/image-200-c.jpg" alt="">
</div>
</dt>
<dd class="creatorCard-name">Hypnotic Yanh</dd>
<dd class="creatorCard-tag">
<ul class="tagList type-creator">
<li class="tagList-item type-creator">
<a class="item-tag type-activityGenre" href="/search?categoryId=8">音声作品</a>
</li>
</ul>
</dd>
</div>
<a href="https://ci-en.dlsite.com/creator/1321" class="creatorCard-link"></a>
</div>
<div class="mod-creatorCard at-topPage">
<div class="creatorCard-header">
<img src="https://media.ci-en.jp/public/cover/creator/00000391/f0134aaa1e2174efabc30e024c973024f34064e0f6ab6738477564c34170ae3b/image-990-c.jpg" alt="">
</div>
<div class="creatorCard-body">
<dt class="creatorCard-thumb">
<div class="accountIcon type-cerator size-m">
<img src="https://media.ci-en.jp/public/icon/creator/00000391/c98d97cf4d4af1c6aad452150693a06a63e6f4323e21ad0848e83f910a949b80/image-200-c.jpg" alt="">
</div>
</dt>
<dd class="creatorCard-name">シロクマの嫁(伊ヶ崎綾香)</dd>
<dd class="creatorCard-tag">
<ul class="tagList type-creator">
<li class="tagList-item type-creator">
<a class="item-tag type-activityGenre" href="/search?categoryId=8">音声作品</a>
</li>
</ul>
</dd>
</div>
<a href="https://ci-en.dlsite.com/creator/391" class="creatorCard-link"></a>
</div>
<div class="mod-creatorCard at-topPage">
<div class="creatorCard-header">
<img src="https://media.ci-en.jp/public/cover/creator/00001058/14ccafc478078692f53a62c0e2ea722d55dd018945d44c31e55bdcc237ee9944/image-990-c.jpg" alt="">
</div>
<div class="creatorCard-body">
<dt class="creatorCard-thumb">
<div class="accountIcon type-cerator size-m">
<img src="https://media.ci-en.jp/public/icon/creator/00001058/3ac1827236a6fce3d5d7d9142dd4e77e3b732b63db18af81e5c74818572d7b10/image-200-c.jpg" alt="">
</div>
</dt>
<dd class="creatorCard-name">鉱油/73号坑道</dd>
<dd class="creatorCard-tag">
<ul class="tagList type-creator">
<li class="tagList-item type-creator">
<a class="item-tag type-activityGenre" href="/search?categoryId=9">ゲーム</a>
</li>
</ul>
</dd>
</div>
<a href="https://ci-en.dlsite.com/creator/1058" class="creatorCard-link"></a>
</div>
<div class="mod-creatorCard at-topPage">
<div class="creatorCard-header">
<img src="https://media.ci-en.jp/public/cover/creator/00000190/0ebc04b8de8d6e42f6c5bf020936bff79bdfa29ab71f1ea2eff547f42fd9caa7/image-990-c.jpg" alt="">
</div>
<div class="creatorCard-body">
<dt class="creatorCard-thumb">
<div class="accountIcon type-cerator size-m">
<img src="https://media.ci-en.jp/public/icon/creator/00000190/e5e01272dac25575a00b651adf8d04524d91a87ff534bc4391dbabea404e6a49/image-200-c.jpg" alt="">
</div>
</dt>
<dd class="creatorCard-name">ぽいずん</dd>
<dd class="creatorCard-tag">
<ul class="tagList type-creator">
<li class="tagList-item type-creator">
<a class="item-tag type-activityGenre" href="/search?categoryId=9">ゲーム</a>
</li>
</ul>
</dd>
</div>
<a href="https://ci-en.dlsite.com/creator/190" class="creatorCard-link"></a>
</div>
<div class="mod-creatorCard at-topPage">
<div class="creatorCard-header">
<img src="https://media.ci-en.jp/public/cover/creator/00002004/b568c5bcc1108db1276c32b550140f5d539a92c589f3bd8fc16163fba56eb50a/image-990-c.jpg" alt="">
</div>
<div class="creatorCard-body">
<dt class="creatorCard-thumb">
<div class="accountIcon type-cerator size-m">
<img src="https://media.ci-en.jp/public/icon/creator/00002004/aab5ff3de14c0361715b4a16cc3cc6961cac72b84762d514e6fc38c40dda81e6/image-200-c.jpg" alt="">
</div>
</dt>
<dd class="creatorCard-name">あいすシチュー</dd>
<dd class="creatorCard-tag">
<ul class="tagList type-creator">
<li class="tagList-item type-creator">
<a class="item-tag type-activityGenre" href="/search?categoryId=9">ゲーム</a>
</li>
</ul>
</dd>
</div>
<a href="https://ci-en.dlsite.com/creator/2004" class="creatorCard-link"></a>
</div>
<div class="mod-creatorCard at-topPage">
<div class="creatorCard-header">
<img src="https://media.ci-en.jp/public/cover/creator/00001191/b0ca242c5095531d78a95f3bc4e15a5b642b33c808f91af1cf95723dee7a4543/image-990-c.jpg" alt="">
</div>
<div class="creatorCard-body">
<dt class="creatorCard-thumb">
<div class="accountIcon type-cerator size-m">
<img src="https://media.ci-en.jp/public/icon/creator/00001191/950a61d5e3648e8c01c31a9a3ee127c8cb8e5e015379feb45d409f61acf9cf5a/image-200-c.jpg" alt="">
</div>
</dt>
<dd class="creatorCard-name">みこにそみ</dd>
<dd class="creatorCard-tag">
<ul class="tagList type-creator">
<li class="tagList-item type-creator">
<a class="item-tag type-activityGenre" href="/search?categoryId=9">ゲーム</a>
</li>
</ul>
</dd>
</div>
<a href="https://ci-en.dlsite.com/creator/1191" class="creatorCard-link"></a>
</div>
<div class="mod-creatorCard at-topPage">
<div class="creatorCard-header">
<img src="https://media.ci-en.jp/public/cover/creator/00000944/8b3b9c5cc1024bf0b532b9a0db168db7600a77ed6fbeaf15eb4c56656659666d/image-990-c.jpg" alt="">
</div>
<div class="creatorCard-body">
<dt class="creatorCard-thumb">
<div class="accountIcon type-cerator size-m">
<img src="https://media.ci-en.jp/public/icon/creator/00000944/9dc7439b9801ac6f0e66e92f8980fb2771cb8ab2f8a05e230c753d0f953ce4e0/image-200-c.jpg" alt="">
</div>
</dt>
<dd class="creatorCard-name">D-LIS-ディーリス</dd>
<dd class="creatorCard-tag">
<ul class="tagList type-creator">
<li class="tagList-item type-creator">
<a class="item-tag type-activityGenre" href="/search?categoryId=9">ゲーム</a>
</li>
</ul>
</dd>
</div>
<a href="https://ci-en.dlsite.com/creator/944" class="creatorCard-link"></a>
</div>
</div>
</div>
<div class="topShowcase type-searchByGenre">
<div class="topShowcase-heading"></div>
<div class="topShowcase-body">
<div class="topGenre-item">
<a href="/search?categoryId=9" class="topGenre-link">
ゲーム
</a>
</div>
<div class="topGenre-item">
<a href="/search?categoryId=1" class="topGenre-link">
イラスト
</a>
</div>
<div class="topGenre-item">
<a href="/search?categoryId=2" class="topGenre-link">
漫画
</a>
</div>
<div class="topGenre-item">
<a href="/search?categoryId=8" class="topGenre-link">
音声作品
</a>
</div>
<div class="topGenre-item">
<a href="/search?categoryId=3" class="topGenre-link">
小説
</a>
</div>
<div class="topGenre-item">
<a href="/search?categoryId=7" class="topGenre-link">
声優・歌い手
</a>
</div>
<div class="topGenre-item">
<a href="/search?categoryId=12" class="topGenre-link">
映像・アニメ
</a>
</div>
<div class="topGenre-item">
<a href="/search?categoryId=17" class="topGenre-link">
その他
</a>
</div>
<div class="topGenre-item">
<a href="/search?categoryId=10" class="topGenre-link">
YouTuber・実況
</a>
</div>
<div class="topGenre-item">
<a href="/search?categoryId=14" class="topGenre-link">
VR
</a>
</div>
</div>
</div>
</div>
</div>
<div class="topRegisterCreatorArea">
<div class="topRegisterCreatorArea-body">
<div class="topRegisterCreatorArea-main">
<div class="topRegisterCreatorArea-mainImg"></div>
<div class="topRegisterCreatorArea-btn">
<a href="https://ci-en.dlsite.com/about/creator" class="btn type-important-confirm">クリエイター登録について</a>
</div>
</div>
</div>
</div>
<div class="topRegisterArea">
<div class="topRegisterArea-body">
<div class="topRegisterArea-main">
<p class="topRegisterArea-text">DLsiteアカウントをお持ちの方はログインできます。</p>
<div class="btnBox">
<a href="https://ci-en.dlsite.com/login" class="btn type-confirm">ログイン</a>
<a href="https://login.dlsite.com/register?redirect_uri=https%3A%2F%2Fci-en.dlsite.com&amp;lang=ja" class="btn type-important-confirm" target="_blank">新規登録</a>
</div>
<p class="topRegisterArea-annotation">株式会社エイシスが運営しているサービスをDLsiteアカウント一つでご利用いただけます。</p>
</div>
</div>
</div>
</div>
</section>
</section>
<footer class="global-layout-item type-footer">
<div class="gotoTOPContainer">
<a href="#" class="ankerlink">ページトップ</a>
</div>
<div class="globalFooter">
<div class="footerContainer innerSpaceFooter">
<dl class="footerNav itemNum1">
<dt class="footerNav-title">Ci-enについて</dt>
<dd class="footerNav-item"><a href="https://ci-en.dlsite.com/about/supporter" class="footerLink">Ci-enとは</a></dd>
<dd class="footerNav-item"><a href="https://ci-en.dlsite.com/about/creator" class="footerLink">クリエイター登録</a></dd>
<dd class="footerNav-item"><a href="https://ci-en.dlsite.com/about/faq" class="footerLink">よくある質問(支援者)</a></dd>
<dd class="footerNav-item"><a href="https://ci-en.dlsite.com/about/creator-faq" class="footerLink">よくある質問(クリエイター)</a></dd>
<dd class="footerNav-item"><a href="https://ci-en.dlsite.com/inquiry" class="footerLink">お問い合わせ</a></dd>
<dd class="footerNav-item"><a href="http://info.ci-en.net" target="_blank" class="footerLink">お知らせブログ</a></dd>
</dl>
<dl class="footerNav itemNum2">
<dt class="footerNav-title">運営情報</dt>
<dd class="footerNav-item"><a href="http://www.eisys.co.jp/company/company-info.html" target="_blank" class="footerLink">会社概要</a></dd>
<dd class="footerNav-item"><a href="https://ci-en.dlsite.com/legal/regulation" class="footerLink">利用規約</a></dd>
<dd class="footerNav-item"><a href="https://ci-en.dlsite.com/legal/law" class="footerLink">特定商取引法に基づく表示</a></dd>
<dd class="footerNav-item"><a href="https://ci-en.dlsite.com/legal/censorship" class="footerLink">コンプライアンスポリシー</a></dd>
<dd class="footerNav-item"><a href="https://ci-en.dlsite.com/legal/privacy" class="footerLink">個人情報の取り扱いについて</a></dd>
</dl>
<div class="l-eisysGroupFooter type-cien is-sponly">
<div class="eisysGroupFooterInner">
<p class="eisysGroupFooterHeading">関連サービス</p>
<ul class="eisysGroupFooterService">
<li class="eisysGroupFooterService-link type-dlsite">
<a href="https://www.dlsite.com/maniax-touch/?utm_campaign=cien&amp;utm_medium=text&amp;utm_content=sp_globalfooter"><span>ダウンロードショップ</span>DLsite</a>
</li>
<li class="eisysGroupFooterService-link type-nijiyome">
<a href="https://www.nijiyome.jp/?en=cien&amp;em=text&amp;et=sp_globalfooter"><span>オンラインゲームサイト</span>にじよめ</a>
</li>
<li class="eisysGroupFooterService-link type-channel">
<a href="https://ch.dlsite.com/?from=sp_globalfooter_cien"><span>二次元コミュニティサイト</span>DLチャンネル</a>
</li>
<li class="eisysGroupFooterService-link type-chobit">
<a href="https://chobit.cc/?from=sp_globalfooter_cien"><span>無料体験版サイト</span>chobit</a>
</li>
<li class="eisysGroupFooterService-link type-triokini">
<a href="https://triokini.com/how_to_use?from=sp_globalfooter_cien"><span>即売会取り置きサイト</span>トリオキニ</a>
</li>
<li class="eisysGroupFooterService-link type-studio">
<a href="https://dlsitestudio.com/?from=sp_globalfooter_cien"><span>音声収録スタジオ</span>DLsiteスタジオ</a>
</li>
</ul>
</div>
</div>
</div>
<div class="snsArea">
<p class="heading">SNS公式アカウント</p>
<a href="https://twitter.com/cien_info?lang=ja" class="twitter_link" target="_blink" rel="nofollow noopener"></a>
</div>
<p class="copyright">&copy; 2018 Ci-en</p>
</div>
</footer>
<script src="https://ci-en.dlsite.com/assets/js/vendor.bundle.js?1568167511"></script>
<script src="https://ci-en.dlsite.com/assets/js/app.bundle.js?1568167511"></script>
</body>
</html>