1 Commits

Author SHA1 Message Date
eai04191
8845eab5d9 Cypress test 2019-06-19 04:16:39 +09:00
51 changed files with 1924 additions and 7392 deletions

View File

@@ -1,5 +1,4 @@
version: 2
jobs:
build:
docker:
@@ -68,14 +67,7 @@ jobs:
- run:
command: |
mkdir -p /tmp/phpunit
./vendor/bin/phpunit --log-junit /tmp/phpunit/phpunit.xml --coverage-clover=/tmp/phpunit/coverage.xml
./vendor/bin/phpunit --log-junit /tmp/phpunit/phpunit.xml
when: always
- store_test_results:
path: /tmp/phpunit
- store_artifacts:
path: /tmp/phpunit/coverage.xml
# Upload coverage
- run:
command: bash <(curl -s https://codecov.io/bash) -f /tmp/phpunit/coverage.xml
when: always

View File

@@ -1,21 +0,0 @@
root = true
[*]
indent_style = space
indent_size = 4
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false
[*.yml]
indent_size = 2
[*.json]
indent_size = 2
[composer.json]
indent_size = 4

View File

@@ -36,7 +36,6 @@ docker-compose up -d
4. Composer と yarn を使い必要なライブラリをインストールします。
```
docker-compose exec web composer global require hirak/prestissimo
docker-compose exec web composer install
docker-compose exec web yarn install
```
@@ -51,7 +50,7 @@ docker-compose exec web php artisan migrate
6. ファイルに書き込めるように権限を設定します。
```
docker-compose exec web chown -R www-data /var/www/html/storage
docker-compose exec web chown -R www-data /var/www/html
```
7. アセットをビルドします。

View File

@@ -1,82 +0,0 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class UpdateFixture extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'test:fixture:update {resolver : Some Resolver Name }';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Update specific fixtures';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$resolver_base_path = __DIR__ . '/../../../tests/Unit/MetadataResolver/';
$test_file_path = $resolver_base_path . $this->argument('resolver') . 'ResolverTest.php';
if (!file_exists($test_file_path)) {
throw new \RuntimeException($this->argument('resolver') . 'ResolverTest.php is not found.');
}
$this->info($this->argument('resolver') . 'ResolverTest.php is found.');
$test_file = file_get_contents($test_file_path);
$test_file_without_comment = '';
// コメントを削除する
$tokens = token_get_all($test_file);
foreach ($tokens as $token) {
if (is_string($token)) {
$test_file_without_comment .= $token;
} else {
list($id, $text) = $token;
if (token_name($id) !== 'T_COMMENT') {
$test_file_without_comment .= $text;
}
}
}
preg_match_all('~file_get_contents\(__DIR__ . \'/(.+)\'\);~', $test_file_without_comment, $fixtures);
preg_match_all('~\$this->assertSame\(\'(.+)\', \(string\) \$this->handler->getLastRequest\(\)->getUri\(\)\);~m', $test_file_without_comment, $urls);
$update_list = array_combine($fixtures[1], $urls[1]);
$progress = $this->output->createProgressBar(count($update_list));
$progress->setFormat('Updating %path% from %url%' . PHP_EOL . '%current%/%max% [%bar%] %percent:3s%%');
foreach ($update_list as $path => $url) {
sleep(1);
$progress->setMessage($path, 'path');
$progress->setMessage($url, 'url');
file_put_contents($resolver_base_path . $path, file_get_contents($url));
$progress->advance();
}
$progress->finish();
$this->output->newLine();
$this->info('Update Complete!');
}
}

View File

@@ -51,8 +51,6 @@ class CardController
$metadata->tags()->sync($tagIds);
}
$metadata->load('tags');
$response = response($metadata);
if (!config('app.debug')) {
$response = $response->setCache(['public' => true, 'max_age' => 86400]);

View File

@@ -35,27 +35,9 @@ class ProfileStatsComposer
}
// 概況欄のデータ取得
$average = DB::select(<<<'SQL'
SELECT
avg(span) AS average
FROM
(
SELECT
extract(epoch from ejaculated_date - lead(ejaculated_date, 1, NULL) OVER (ORDER BY ejaculated_date DESC)) AS span
FROM
ejaculations
WHERE
user_id = :user_id
ORDER BY
ejaculated_date DESC
LIMIT
30
) AS temp
SQL
, ['user_id' => $user->id]);
$summary = DB::select(<<<'SQL'
SELECT
avg(span) AS average,
max(span) AS longest,
min(span) AS shortest,
sum(span) AS total_times,
@@ -74,6 +56,6 @@ FROM
SQL
, ['user_id' => $user->id]);
$view->with(compact('latestEjaculation', 'currentSession', 'average', 'summary'));
$view->with(compact('latestEjaculation', 'currentSession', 'summary'));
}
}

View File

@@ -11,7 +11,7 @@ class Metadata extends Model
protected $keyType = 'string';
protected $fillable = ['url', 'title', 'description', 'image', 'expires_at'];
protected $visible = ['url', 'title', 'description', 'image', 'expires_at', 'tags'];
protected $visible = ['url', 'title', 'description', 'image', 'expires_at'];
protected $dates = ['created_at', 'updated_at', 'expires_at'];

View File

@@ -64,7 +64,7 @@ class PixivResolver implements Resolver
$metadata->title = $json['body']['illustTitle'] ?? '';
$metadata->description = '投稿者: ' . $json['body']['userName'] . PHP_EOL . strip_tags(str_replace('<br />', PHP_EOL, $json['body']['illustComment'] ?? ''));
$metadata->image = $this->proxize($json['body']['urls']['regular'] ?? '');
$metadata->image = $this->proxize($json['body']['urls']['original'] ?? '');
// ページ数の指定がある場合は画像URLをそのページにする
if ($page != 0) {

View File

@@ -11,9 +11,6 @@ class Tag extends Model
protected $fillable = [
'name'
];
protected $visible = [
'name'
];
public function ejaculations()
{

View File

@@ -41,7 +41,7 @@ class User extends Authenticatable
{
$hash = md5(strtolower(trim($this->email)));
return '//www.gravatar.com/avatar/' . $hash . '?s=' . $size . '&d=retro';
return '//www.gravatar.com/avatar/' . $hash . '?s=' . $size;
}
/**

View File

@@ -35,7 +35,7 @@ class Formatter
*/
public function linkify($text)
{
return $this->linkify->processUrls($text, ['attr' => ['target' => '_blank', 'rel' => 'noopener']]);
return $this->linkify->processUrls($text);
}
/**

7
e2e/.eslintrc.json Normal file
View File

@@ -0,0 +1,7 @@
{
"plugins": ["cypress"],
"env": {
"cypress/globals": true
},
"extends": ["plugin:cypress/recommended"]
}

1
e2e/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/node_modules

3
e2e/cypress.json Normal file
View File

@@ -0,0 +1,3 @@
{
"baseUrl": "http://localhost:4545"
}

View File

@@ -0,0 +1,5 @@
{
"name": "Using fixtures to represent data",
"email": "hello@cypress.io",
"body": "Fixtures are a great way to mock data for responses to routes"
}

21
e2e/cypress/integration/test.spec.js vendored Normal file
View File

@@ -0,0 +1,21 @@
describe("The Home Page", function() {
it("successfully loads", function() {
cy.visit("/"); // change URL to match your dev URL
cy.contains(".modal", "Tissue へようこそ!");
cy.focused() // command
.should("have.class", "modal")
.should("be.visible")
.contains("button", "まかせて")
.click();
cy.contains("ログイン").click();
cy.url().should("include", "/login");
cy.get("input#email").type("eai@mizle.net");
cy.get("input#password").type("111111");
cy.get("body > .container form")
.contains("ログイン")
.click();
cy.get("nav").should("contain", "ホーム");
});
});

17
e2e/cypress/plugins/index.js vendored Normal file
View File

@@ -0,0 +1,17 @@
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************
// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
}

25
e2e/cypress/support/commands.js vendored Normal file
View File

@@ -0,0 +1,25 @@
// ***********************************************
// This example commands.js shows you how to
// create various custom commands and overwrite
// existing commands.
//
// For more comprehensive examples of custom
// commands please read more here:
// https://on.cypress.io/custom-commands
// ***********************************************
//
//
// -- This is a parent command --
// Cypress.Commands.add("login", (email, password) => { ... })
//
//
// -- This is a child command --
// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... })
//
//
// -- This is a dual command --
// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... })
//
//
// -- This is will overwrite an existing command --
// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })

20
e2e/cypress/support/index.js vendored Normal file
View File

@@ -0,0 +1,20 @@
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import commands.js using ES2015 syntax:
import './commands'
// Alternatively you can use CommonJS syntax:
// require('./commands')

11
e2e/package.json Normal file
View File

@@ -0,0 +1,11 @@
{
"name": "e2e",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"cypress": "^3.3.1",
"eslint": "^5.16.0",
"eslint-plugin-cypress": "^2.2.1"
}
}

1751
e2e/yarn.lock Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,66 +1,9 @@
import Vue from 'vue';
import TagInput from "./components/TagInput.vue";
import MetadataPreview from './components/MetadataPreview.vue';
export const bus = new Vue({name: "EventBus"});
export enum MetadataLoadState {
Inactive,
Loading,
Success,
Failed,
}
new Vue({
el: '#app',
data: {
metadata: null,
metadataLoadState: MetadataLoadState.Inactive,
},
components: {
TagInput,
MetadataPreview
},
mounted() {
// オカズリンクにURLがセットされている場合は、すぐにメタデータを取得する
const linkInput = this.$el.querySelector<HTMLInputElement>("#link");
if (linkInput && /^https?:\/\//.test(linkInput.value)) {
this.fetchMetadata(linkInput.value);
}
},
methods: {
// オカズリンクの変更時
onChangeLink(event: Event) {
if (event.target instanceof HTMLInputElement) {
const url = event.target.value;
if (url.trim() === '' || !/^https?:\/\//.test(url)) {
this.metadata = null;
this.metadataLoadState = MetadataLoadState.Inactive;
return;
}
this.fetchMetadata(url);
}
},
// メタデータの取得
fetchMetadata(url: string) {
this.metadataLoadState = MetadataLoadState.Loading;
$.ajax({
url: '/api/checkin/card',
method: 'get',
type: 'json',
data: {
url
}
}).then(data => {
this.metadata = data;
this.metadataLoadState = MetadataLoadState.Success;
}).catch(e => {
this.metadata = null;
this.metadataLoadState = MetadataLoadState.Failed;
});
}
TagInput
}
});

View File

@@ -1,119 +0,0 @@
<template>
<div class="form-row" v-if="state !== MetadataLoadState.Inactive">
<div class="form-group col-sm-12">
<div class="card link-card-mini mb-2 px-0">
<div v-if="state === MetadataLoadState.Loading" class="row no-gutters">
<div class="col-12">
<div class="card-body">
<h6 class="card-title text-center font-weight-bold text-info" style="font-size: small;"><span class="oi oi-loop-circular"></span> オカズの情報を読み込んでいます</h6>
</div>
</div>
</div>
<div v-else-if="state === MetadataLoadState.Success" class="row no-gutters">
<div v-if="hasImage" class="col-4 justify-content-center align-items-center">
<img :src="metadata.image" alt="Thumbnail" class="card-img-top-to-left bg-secondary">
</div>
<div :class="descClasses">
<div class="card-body">
<h6 class="card-title font-weight-bold" style="font-size: small;">{{ metadata.title }}</h6>
<template v-if="suggestions.length > 0">
<p class="card-text mb-2" style="font-size: small;">タグ候補<br><span class="text-secondary">(クリックするとタグ入力欄にコピーできます)</span></p>
<ul class="list-inline d-inline">
<li v-for="tag in suggestions"
class="list-inline-item badge badge-primary metadata-tag-item"
@click="addTag(tag)"><span class="oi oi-tag"></span> {{ tag }}</li>
</ul>
</template>
</div>
</div>
</div>
<div v-else class="row no-gutters">
<div class="col-12">
<div class="card-body">
<h6 class="card-title text-center font-weight-bold text-danger" style="font-size: small;"><span class="oi oi-circle-x"></span> オカズの情報を読み込めませんでした</h6>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script lang="ts">
import {Vue, Component, Prop} from "vue-property-decorator";
import {bus, MetadataLoadState} from "../checkin";
type Metadata = {
url: string,
title: string,
description: string,
image: string,
expires_at: string | null,
tags: {
name: string
}[],
};
@Component
export default class MetadataPreview extends Vue {
@Prop() readonly state!: MetadataLoadState;
@Prop() readonly metadata!: Metadata | null;
// for use in v-if
private readonly MetadataLoadState = MetadataLoadState;
addTag(tag: string) {
bus.$emit("add-tag", tag);
}
get suggestions() {
if (this.metadata === null) {
return [];
}
return this.metadata.tags.map(t => t.name);
}
get hasImage() {
return this.metadata !== null && this.metadata.image !== ''
}
get descClasses() {
return {
"col-8": this.hasImage,
"col-12": !this.hasImage,
};
}
}
</script>
<style lang="scss" scoped>
.link-card-mini {
$height: 150px;
.row > div {
overflow: hidden;
}
.row > div:first-child {
display: flex;
&:not([display=none]) {
min-height: $height;
img {
position: absolute;
}
}
}
.card-text {
white-space: pre-line;
}
}
.metadata-tag-item {
cursor: pointer;
user-select: none;
}
</style>

View File

@@ -17,7 +17,6 @@
<script lang="ts">
import {Vue, Component, Prop} from "vue-property-decorator";
import {bus} from "../checkin";
@Component
export default class TagInput extends Vue {
@@ -29,10 +28,6 @@
tags: string[] = this.value.trim() !== "" ? this.value.trim().split(" ") : [];
buffer: string = "";
created() {
bus.$on("add-tag", (tag: string) => this.tags.indexOf(tag) === -1 && this.tags.push(tag));
}
onKeyDown(event: KeyboardEvent) {
if (this.buffer.trim() !== "") {
switch (event.key) {
@@ -79,4 +74,4 @@
border: 0;
outline: 0;
}
</style>
</style>

View File

@@ -28,4 +28,4 @@
.card-text {
white-space: pre-line;
}
}
}

View File

@@ -8,7 +8,7 @@
@endif
<h6 class="font-weight-bold"><span class="oi oi-graph"></span> 概況</h6>
<p class="card-text mb-0">平均記録: {{ Formatter::formatInterval($average[0]->average) }}</p>
<p class="card-text mb-0">平均記録: {{ Formatter::formatInterval($summary[0]->average) }}</p>
<p class="card-text mb-0">最長記録: {{ Formatter::formatInterval($summary[0]->longest) }}</p>
<p class="card-text mb-0">最短記録: {{ Formatter::formatInterval($summary[0]->shortest) }}</p>
<p class="card-text mb-0">合計時間: {{ Formatter::formatInterval($summary[0]->total_times) }}</p>

View File

@@ -52,9 +52,7 @@
<div class="form-row">
<div class="form-group col-sm-12">
<label for="link"><span class="oi oi-link-intact"></span> オカズリンク</label>
<input id="link" name="link" type="text" autocomplete="off" class="form-control {{ $errors->has('link') ? ' is-invalid' : '' }}"
placeholder="http://..." value="{{ old('link') ?? $defaults['link'] }}"
@change="onChangeLink">
<input id="link" name="link" type="text" autocomplete="off" class="form-control {{ $errors->has('link') ? ' is-invalid' : '' }}" placeholder="http://..." value="{{ old('link') ?? $defaults['link'] }}">
<small class="form-text text-muted">
オカズのURLを貼り付けて登録することができます。
</small>
@@ -63,7 +61,6 @@
@endif
</div>
</div>
<metadata-preview :metadata="metadata" :state="metadataLoadState"></metadata-preview>
<div class="form-row">
<div class="form-group col-sm-12">
<label for="note"><span class="oi oi-comment-square"></span> ノート</label>
@@ -99,4 +96,4 @@
@push('script')
<script src="{{ mix('js/checkin.js') }}"></script>
@endpush
@endpush

View File

@@ -53,9 +53,7 @@
<div class="form-row">
<div class="form-group col-sm-12">
<label for="link"><span class="oi oi-link-intact"></span> オカズリンク</label>
<input id="link" name="link" type="text" autocomplete="off" class="form-control {{ $errors->has('link') ? ' is-invalid' : '' }}"
placeholder="http://..." value="{{ old('link') ?? $ejaculation->link }}"
@change="onChangeLink">
<input id="link" name="link" type="text" autocomplete="off" class="form-control {{ $errors->has('link') ? ' is-invalid' : '' }}" placeholder="http://..." value="{{ old('link') ?? $ejaculation->link }}">
<small class="form-text text-muted">
オカズのURLを貼り付けて登録することができます。
</small>
@@ -64,7 +62,6 @@
@endif
</div>
</div>
<metadata-preview :metadata="metadata" :state="metadataLoadState"></metadata-preview>
<div class="form-row">
<div class="form-group col-sm-12">
<label for="note"><span class="oi oi-comment-square"></span> ノート</label>
@@ -100,4 +97,4 @@
@push('script')
<script src="{{ mix('js/checkin.js') }}"></script>
@endpush
@endpush

View File

@@ -49,6 +49,6 @@ trait CreateMockedResolver
protected function shouldUseMock(): bool
{
return (bool) env('TEST_USE_HTTP_MOCK', true);
return (bool)env('TEST_USE_HTTP_MOCK', true);
}
}

View File

@@ -20,7 +20,7 @@ class DLsiteResolverTest extends TestCase
public function testHome()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testHome.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testHome.html');
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -28,7 +28,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('ひつじ、数えてあげるっ', $metadata->title);
$this->assertEquals('サークル名: Butterfly Dream' . PHP_EOL . '眠れないあなたに彼女が羊を数えてくれる音声です。', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/doujin/RJ222000/RJ221761_img_main.jpg', $metadata->image);
$this->assertEquals(['癒し', 'バイノーラル/ダミヘ', '日常/生活', 'ほのぼの', '恋人同士'], $metadata->tags);
$this->assertEquals(['癒し','バイノーラル/ダミヘ','日常/生活','ほのぼの','恋人同士'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/home/work/=/product_id/RJ221761.html', (string) $this->handler->getLastRequest()->getUri());
}
@@ -36,7 +36,7 @@ class DLsiteResolverTest extends TestCase
public function testSoft()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testSoft.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testSoft.html');
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -44,7 +44,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('ことのはアムリラート', $metadata->title);
$this->assertEquals('メーカー名: SukeraSparo' . PHP_EOL . '異世界へと迷い込んだ凜に救いの手を差し伸べるルカ――。これは、ふたりが手探りの意思疎通(ことのは)で織りなす、もどかしくも純粋な……女の子同士の物語。', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/professional/VJ012000/VJ011276_img_main.jpg', $metadata->image);
$this->assertEquals(['少女', '日常/生活', '純愛', '百合'], $metadata->tags);
$this->assertEquals(['少女','日常/生活','純愛','百合'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/soft/work/=/product_id/VJ011276.html', (string) $this->handler->getLastRequest()->getUri());
}
@@ -52,7 +52,7 @@ class DLsiteResolverTest extends TestCase
public function testComic()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testComic.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testComic.html');
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -60,7 +60,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('快楽ヒストリエ', $metadata->title);
$this->assertEquals('著者: 火鳥' . PHP_EOL . '天地創造と原初の人類を描いた「創世編」をはじめ、英雄たちの偉業を大真面目に考証した正真正銘の学術コミック全15編。', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/books/BJ139000/BJ138581_img_main.jpg', $metadata->image);
$this->assertEquals(['おっぱい', 'ロリ', 'ショタ', '妹', '男性/おやじ', '女王様/お姫様', '王子様/王子系', '戦士', 'セーラー服', '着物/和服', '青年コミック', 'ギャグ', 'コメディ', '歴史/時代物', '褐色/日焼け', '爺'], $metadata->tags);
$this->assertEquals(['おっぱい','ロリ','ショタ','妹','男性/おやじ','女王様/お姫様','王子様/王子系','戦士','セーラー服','着物/和服','青年コミック','ギャグ','コメディ','歴史/時代物','褐色/日焼け','爺'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/comic/work/=/product_id/BJ138581.html', (string) $this->handler->getLastRequest()->getUri());
}
@@ -68,7 +68,7 @@ class DLsiteResolverTest extends TestCase
public function testManiax()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testManiax.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testManiax.html');
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -76,7 +76,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('催眠術で新婚人妻マナカさんとエッチしよう', $metadata->title);
$this->assertEquals('サークル名: デルタブレード' . PHP_EOL . '催眠術で新婚人妻マナカさんの愛する夫にすり替わって子作りラブラブエッチをするCG集です。', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/doujin/RJ206000/RJ205445_img_main.jpg', $metadata->image);
$this->assertEquals(['断面図', '人妻', '中出し', '妊娠/孕ませ', '催眠', '口内射精'], $metadata->tags);
$this->assertEquals(['断面図','人妻','中出し','妊娠/孕ませ','催眠','口内射精'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/maniax/work/=/product_id/RJ205445.html', (string) $this->handler->getLastRequest()->getUri());
}
@@ -84,7 +84,7 @@ class DLsiteResolverTest extends TestCase
public function testPro()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testPro.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testPro.html');
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -92,7 +92,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('euphoria HDリマスター Best Price版', $metadata->title);
$this->assertEquals('ブランド名: CLOCK UP' . PHP_EOL . 'インモラルハードコアADV「euphoria」が高解像度1024×768版、「euphoria HDリマスター」となって登場', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/professional/VJ009000/VJ008455_img_main.jpg', $metadata->image);
$this->assertEquals(['アブノーマル', '幼なじみ', '女教師', '退廃/背徳/インモラル', '拘束', '強制/無理矢理', 'スカトロ', 'アヘ顔', '拷問', '血液/流血', '狂気'], $metadata->tags);
$this->assertEquals(['アブノーマル','幼なじみ','女教師','退廃/背徳/インモラル','拘束','強制/無理矢理','スカトロ','アヘ顔','拷問','血液/流血','狂気'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/pro/work/=/product_id/VJ008455.html', (string) $this->handler->getLastRequest()->getUri());
}
@@ -100,7 +100,7 @@ class DLsiteResolverTest extends TestCase
public function testBooks()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testBooks.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testBooks.html');
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -108,7 +108,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('永遠娘 vol.6', $metadata->title);
$this->assertEquals('著者: あまがえる / 玉之けだま / びんせん / 甘露アメ / 源五郎 / すみやお / 宇宙烏賊 / 毒茸人 / あやね / ガロウド / ハードボイルドよし子 / 夜歌 / 黒青郎君' . PHP_EOL . '君の命はどんな味なのだろうな?', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/books/BJ192000/BJ191317_img_main.jpg', $metadata->image);
$this->assertEquals(['ツンデレ', 'ロリ', '妖怪', '人外娘/モンスター娘', 'セーラー服', 'メイド', 'ストッキング', 'ファンタジー', 'ぶっかけ', '中出し', '近親相姦', 'アヘ顔', '口内射精'], $metadata->tags);
$this->assertEquals(['ツンデレ','ロリ','妖怪','人外娘/モンスター娘','セーラー服','メイド','ストッキング','ファンタジー','ぶっかけ','中出し','近親相姦','アヘ顔','口内射精'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/books/work/=/product_id/BJ191317.html', (string) $this->handler->getLastRequest()->getUri());
}
@@ -116,7 +116,7 @@ class DLsiteResolverTest extends TestCase
public function testGirls()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testGirls.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testGirls.html');
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -124,7 +124,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('体イク教師', $metadata->title);
$this->assertEquals('サークル名: Dusk' . PHP_EOL . '思い込みの激しい体育教師に執着されるお話', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/doujin/RJ218000/RJ217995_img_main.jpg', $metadata->image);
$this->assertEquals(['教師', '中出し', '陵辱', '変態', '強制/無理矢理', 'レイプ'], $metadata->tags);
$this->assertEquals(['教師','中出し','陵辱','変態','強制/無理矢理','レイプ'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/girls/work/=/product_id/RJ217995.html', (string) $this->handler->getLastRequest()->getUri());
}
@@ -132,7 +132,7 @@ class DLsiteResolverTest extends TestCase
public function testGirlsPro()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testGirlsPro.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testGirlsPro.html');
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -140,7 +140,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('×××レクチャー', $metadata->title);
$this->assertEquals('著者: 江口尋' . PHP_EOL . '昔、告白してくれた地味な同級生・瀬尾は超人気セクシー男優になっていて!?', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/books/BJ171000/BJ170641_img_main.jpg', $metadata->image);
$this->assertEquals(['メガネ', '芸能人/アイドル/モデル', '俺様', 'ラブコメ', 'ラブラブ/あまあま', 'ティーンズラブ', '調教', '褐色/日焼け'], $metadata->tags);
$this->assertEquals(['メガネ','芸能人/アイドル/モデル','俺様','ラブコメ','ラブラブ/あまあま','ティーンズラブ','調教','褐色/日焼け'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/girls-pro/work/=/product_id/BJ170641.html', (string) $this->handler->getLastRequest()->getUri());
}
@@ -148,7 +148,7 @@ class DLsiteResolverTest extends TestCase
public function testBL()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testBL.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testBL.html');
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -156,7 +156,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('秘密に堕つ', $metadata->title);
$this->assertEquals('サークル名: ナゲットぶん投げ屋さん' . PHP_EOL . 'とある村に越してきた新婚夫婦。村の集会所で行われた歓迎会で犯される花婿。村の男達に犯され続けた花婿にある変化が…?', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/doujin/RJ245000/RJ244977_img_main.jpg', $metadata->image);
$this->assertEquals(['既婚者', '中出し', '強制/無理矢理', 'レイプ', 'モブ姦'], $metadata->tags);
$this->assertEquals(['既婚者','中出し','強制/無理矢理','レイプ','モブ姦'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/bl/work/=/product_id/RJ244977.html', (string) $this->handler->getLastRequest()->getUri());
}
@@ -164,7 +164,7 @@ class DLsiteResolverTest extends TestCase
public function testEng()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testEng.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testEng.html');
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -172,7 +172,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('With Your First Girlfriend, at a Ghostly Night [Ear Cleaning] [Sleep Sharing]', $metadata->title);
$this->assertEquals('Circle: Triangle!' . PHP_EOL . 'You go with a girl of your first love and enjoy going to haunted places and her massage, ear cleaning, sleep sharing etc. (CV: Yui Asami)', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/doujin/RJ229000/RJ228866_img_main.jpg', $metadata->image);
$this->assertEquals(['Healing', 'Binaural', 'ASMR', 'Childhood Friend', 'Ear Cleaning', 'Romance'], $metadata->tags);
$this->assertEquals(['Healing','Binaural','ASMR','Childhood Friend','Ear Cleaning','Romance'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/eng/work/=/product_id/RE228866.html', (string) $this->handler->getLastRequest()->getUri());
}
@@ -180,7 +180,7 @@ class DLsiteResolverTest extends TestCase
public function testEcchiEng()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testEcchiEng.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testEcchiEng.html');
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -188,7 +188,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('NEKOPARA vol.1', $metadata->title);
$this->assertEquals('Circle: NEKO WORKs' . PHP_EOL . 'Chocolat and Vanilla star in a rich adult eroge series with E-mote system and animated H scenes', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/doujin/RJ145000/RJ144678_img_main.jpg', $metadata->image);
$this->assertEquals(['Moe', 'Master and Servant', 'Funny Love Story', 'Nekomimi (Cat Ears)'], $metadata->tags);
$this->assertEquals(['Moe','Master and Servant','Funny Love Story','Nekomimi (Cat Ears)'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/ecchi-eng/work/=/product_id/RE144678.html', (string) $this->handler->getLastRequest()->getUri());
}
@@ -196,7 +196,8 @@ class DLsiteResolverTest extends TestCase
public function testSPLink()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testSPLink.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testHome.html');
// SP版touchのURLのテストだがリゾルバ側でURLから-touchを削除してPC版を取得するので、PC版の内容を使用する
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -204,7 +205,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('ひつじ、数えてあげるっ', $metadata->title);
$this->assertEquals('サークル名: Butterfly Dream' . PHP_EOL . '眠れないあなたに彼女が羊を数えてくれる音声です。', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/doujin/RJ222000/RJ221761_img_main.jpg', $metadata->image);
$this->assertEquals(['癒し', 'バイノーラル/ダミヘ', '日常/生活', 'ほのぼの', '恋人同士'], $metadata->tags);
$this->assertEquals(['癒し','バイノーラル/ダミヘ','日常/生活','ほのぼの','恋人同士'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/home/work/=/product_id/RJ221761.html', (string) $this->handler->getLastRequest()->getUri());
}
@@ -212,7 +213,7 @@ class DLsiteResolverTest extends TestCase
public function testShortLink()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/DLsite/testShortLink.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testHome.html');
$this->createResolver(DLsiteResolver::class, $responseText);
@@ -220,7 +221,7 @@ class DLsiteResolverTest extends TestCase
$this->assertEquals('ひつじ、数えてあげるっ', $metadata->title);
$this->assertEquals('サークル名: Butterfly Dream' . PHP_EOL . '眠れないあなたに彼女が羊を数えてくれる音声です。', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/doujin/RJ222000/RJ221761_img_main.jpg', $metadata->image);
$this->assertEquals(['癒し', 'バイノーラル/ダミヘ', '日常/生活', 'ほのぼの', '恋人同士'], $metadata->tags);
$this->assertEquals(['癒し','バイノーラル/ダミヘ','日常/生活','ほのぼの','恋人同士'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://dlsite.jp/howtw/RJ221761.html', (string) $this->handler->getLastRequest()->getUri());
}

View File

@@ -20,7 +20,7 @@ class FC2ContentsResolverTest extends TestCase
public function testAdult()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/FC2Contents/adult.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/FC2Contents/adult.html');
$this->createResolver(FC2ContentsResolver::class, $responseText);
@@ -35,7 +35,7 @@ class FC2ContentsResolverTest extends TestCase
public function testGeneral()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/FC2Contents/general.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/FC2Contents/general.html');
$this->createResolver(FC2ContentsResolver::class, $responseText);

View File

@@ -1,52 +0,0 @@
<?php
namespace Tests\Unit\MetadataResolver;
use App\MetadataResolver\KomifloResolver;
use Tests\TestCase;
class KomifloResolverTest extends TestCase
{
use CreateMockedResolver;
public function setUp()
{
parent::setUp();
if (!$this->shouldUseMock()) {
sleep(1);
}
}
public function testComic()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Komiflo/comic.json');
$this->createResolver(KomifloResolver::class, $responseText);
$metadata = $this->resolver->resolve('https://komiflo.com/#!/comics/5490');
$this->assertEquals('魔法少女とえっち物語', $metadata->title);
$this->assertEquals('薙派 - メガストアα 19.07', $metadata->description);
$this->assertEquals('https://t.komiflo.com/564_mobile_large_3x/contents/23a4cd530060b8607aa434f4b299b249e71a4d5c.jpg', $metadata->image);
$this->assertEquals(['薙派', 'お姉さん', 'ショタ', 'ファンタジー', '巨乳', '野外・露出', '羞恥'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://api.komiflo.com/content/id/5490', (string) $this->handler->getLastRequest()->getUri());
}
}
public function testComicWithNoParents()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Komiflo/comicWithNoParents.json');
$this->createResolver(KomifloResolver::class, $responseText);
$metadata = $this->resolver->resolve('https://komiflo.com/#!/comics/3414');
$this->assertEquals('生まれなおしプログラム', $metadata->title);
$this->assertEquals('EROKI - ?', $metadata->description);
$this->assertEquals('https://t.komiflo.com/564_mobile_large_3x/contents/71cfb83640aead3cdd35e4329c4e2f427606a11d.jpg', $metadata->image);
$this->assertEquals(['EROKI', 'お姉さん', 'しつけ', 'オリジナル', 'ショートカット', '逆転', '巨乳'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://api.komiflo.com/content/id/3414', (string) $this->handler->getLastRequest()->getUri());
}
}
}

View File

@@ -20,7 +20,7 @@ class NijieResolverTest extends TestCase
public function testStandardPicture()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testStandardPicture.html');
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testStandardPictureResponse.html');
$this->createResolver(NijieResolver::class, $responseText);
@@ -30,13 +30,13 @@ class NijieResolverTest extends TestCase
$this->assertRegExp('/pic\d+\.nijie\.info/', $metadata->image);
$this->assertNotRegExp('~/diff/main/~', $metadata->image);
if ($this->shouldUseMock()) {
$this->assertSame('https://nijie.info/view.php?id=66384', (string) $this->handler->getLastRequest()->getUri());
$this->assertSame('https://nijie.info/view.php?id=66384', (string)$this->handler->getLastRequest()->getUri());
}
}
public function testMultiplePicture()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testMultiplePicture.html');
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testMultiplePictureResponse.html');
$this->createResolver(NijieResolver::class, $responseText);
@@ -46,13 +46,13 @@ class NijieResolverTest extends TestCase
$this->assertRegExp('/pic\d+\.nijie\.info/', $metadata->image);
$this->assertNotRegExp('~/diff/main/~', $metadata->image);
if ($this->shouldUseMock()) {
$this->assertSame('https://nijie.info/view.php?id=202707', (string) $this->handler->getLastRequest()->getUri());
$this->assertSame('https://nijie.info/view.php?id=202707', (string)$this->handler->getLastRequest()->getUri());
}
}
public function testAnimationGif()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testAnimationGif.html');
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testAnimationGifResponse.html');
$this->createResolver(NijieResolver::class, $responseText);
@@ -61,13 +61,13 @@ class NijieResolverTest extends TestCase
$this->assertEquals('アニメgifとか専門外なのでよくわかりませんでした', $metadata->description);
$this->assertRegExp('~/nijie\.info/pic/logo~', $metadata->image);
if ($this->shouldUseMock()) {
$this->assertSame('https://nijie.info/view.php?id=9537', (string) $this->handler->getLastRequest()->getUri());
$this->assertSame('https://nijie.info/view.php?id=9537', (string)$this->handler->getLastRequest()->getUri());
}
}
public function testMp4Movie()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testMp4Movie.html');
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testMp4MovieResponse.html');
$this->createResolver(NijieResolver::class, $responseText);
@@ -76,13 +76,13 @@ class NijieResolverTest extends TestCase
$this->assertEquals("H264動画てすと あとで消します\r\n\r\n今の所、H264コーデックのみ、出力時に音声なしにしないと投稿できません\r\n動画は勝手にループします", $metadata->description);
$this->assertRegExp('~/nijie\.info/pic/logo~', $metadata->image);
if ($this->shouldUseMock()) {
$this->assertSame('https://nijie.info/view.php?id=256283', (string) $this->handler->getLastRequest()->getUri());
$this->assertSame('https://nijie.info/view.php?id=256283', (string)$this->handler->getLastRequest()->getUri());
}
}
public function testStandardPictureSp()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testStandardPictureSp.html');
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testStandardPictureResponse.html');
$this->createResolver(NijieResolver::class, $responseText);
@@ -92,13 +92,13 @@ class NijieResolverTest extends TestCase
$this->assertRegExp('/pic\d+\.nijie\.info/', $metadata->image);
$this->assertNotRegExp('~/diff/main/~', $metadata->image);
if ($this->shouldUseMock()) {
$this->assertSame('https://nijie.info/view.php?id=66384', (string) $this->handler->getLastRequest()->getUri());
$this->assertSame('https://nijie.info/view.php?id=66384', (string)$this->handler->getLastRequest()->getUri());
}
}
public function testMultiplePictureSp()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testMultiplePictureSp.html');
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testMultiplePictureResponse.html');
$this->createResolver(NijieResolver::class, $responseText);
@@ -108,13 +108,13 @@ class NijieResolverTest extends TestCase
$this->assertRegExp('/pic\d+\.nijie\.info/', $metadata->image);
$this->assertNotRegExp('~/diff/main/~', $metadata->image);
if ($this->shouldUseMock()) {
$this->assertSame('https://nijie.info/view.php?id=202707', (string) $this->handler->getLastRequest()->getUri());
$this->assertSame('https://nijie.info/view.php?id=202707', (string)$this->handler->getLastRequest()->getUri());
}
}
public function testAnimationGifSp()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testAnimationGifSp.html');
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testAnimationGifResponse.html');
$this->createResolver(NijieResolver::class, $responseText);
@@ -124,13 +124,13 @@ class NijieResolverTest extends TestCase
$this->assertEquals('アニメgifとか専門外なのでよくわかりませんでした', $metadata->description);
$this->assertRegExp('~/nijie\.info/pic/logo~', $metadata->image);
if ($this->shouldUseMock()) {
$this->assertSame('https://nijie.info/view.php?id=9537', (string) $this->handler->getLastRequest()->getUri());
$this->assertSame('https://nijie.info/view.php?id=9537', (string)$this->handler->getLastRequest()->getUri());
}
}
public function testMp4MovieSp()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testMp4MovieSp.html');
$responseText = file_get_contents(__DIR__ . '/../../fixture/Nijie/testMp4MovieResponse.html');
$this->createResolver(NijieResolver::class, $responseText);
@@ -139,7 +139,7 @@ class NijieResolverTest extends TestCase
$this->assertEquals("H264動画てすと あとで消します\r\n\r\n今の所、H264コーデックのみ、出力時に音声なしにしないと投稿できません\r\n動画は勝手にループします", $metadata->description);
$this->assertRegExp('~/nijie\.info/pic/logo~', $metadata->image);
if ($this->shouldUseMock()) {
$this->assertSame('https://nijie.info/view.php?id=256283', (string) $this->handler->getLastRequest()->getUri());
$this->assertSame('https://nijie.info/view.php?id=256283', (string)$this->handler->getLastRequest()->getUri());
}
}
}

View File

@@ -1,68 +0,0 @@
<?php
namespace Tests\Unit\MetadataResolver;
use App\MetadataResolver\PixivResolver;
use Tests\TestCase;
class PixivResolverTest extends TestCase
{
use CreateMockedResolver;
public function setUp()
{
parent::setUp();
if (!$this->shouldUseMock()) {
sleep(1);
}
}
public function testIllust()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Pixiv/testIllust.json');
$this->createResolver(PixivResolver::class, $responseText);
$metadata = $this->resolver->resolve('https://www.pixiv.net/member_illust.php?mode=medium&illust_id=68188073');
$this->assertEquals('coffee break', $metadata->title);
$this->assertEquals('投稿者: 裕' . PHP_EOL, $metadata->description);
$this->assertEquals('https://i.pixiv.cat/img-master/img/2018/04/12/00/01/28/68188073_p0_master1200.jpg', $metadata->image);
$this->assertEquals(['オリジナル', 'カフェ', '眼鏡', 'イヤホン', 'ぱっつん', '艶ぼくろ', '眼鏡っ娘', 'オリジナル5000users入り'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.pixiv.net/ajax/illust/68188073', (string) $this->handler->getLastRequest()->getUri());
}
}
public function testIllustMultiPages()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Pixiv/testIllustMultiPages.json');
$this->createResolver(PixivResolver::class, $responseText);
$metadata = $this->resolver->resolve('https://www.pixiv.net/member_illust.php?mode=medium&illust_id=47220843');
$this->assertEquals('がぶ飲みミルクティー', $metadata->title);
$this->assertEquals('投稿者: きっぷる' . PHP_EOL . '劇中で度々お見かけするお姿がたまらなく愛おしいのです' . PHP_EOL . 'チラリズムでしょうか', $metadata->description);
$this->assertEquals('https://i.pixiv.cat/img-master/img/2014/11/23/15/52/00/47220843_p0_master1200.jpg', $metadata->image);
$this->assertEquals(['SHIROBAKO', '小笠原綸子', 'ゴスロリ様', '中出し', 'SHIRUPAKO', 'くわえたくしあげ', 'ずらし挿入', 'SHIROBAKO1000users入り', '破れストッキング'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.pixiv.net/ajax/illust/47220843', (string) $this->handler->getLastRequest()->getUri());
}
}
public function testManga()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Pixiv/testManga.json');
$this->createResolver(PixivResolver::class, $responseText);
$metadata = $this->resolver->resolve('https://www.pixiv.net/member_illust.php?mode=medium&illust_id=46713544');
$this->assertEquals('冬の日ラブラブ', $metadata->title);
$this->assertEquals('投稿者: Aza' . PHP_EOL . 'ラブラブエッチのらくがき' . PHP_EOL . PHP_EOL . '三万フォロワー感謝します~' . PHP_EOL . PHP_EOL . '最近忙しいので、自分の時間が少ない・・・', $metadata->description);
$this->assertEquals('https://i.pixiv.cat/img-master/img/2014/10/25/00/06/58/46713544_p0_master1200.jpg', $metadata->image);
$this->assertEquals(['落書き', 'おっぱい', 'オリジナル', 'パイズリ', '中出し', 'だいしゅきホールド', '愛のあるセックス', '黒髪ロング', 'オリジナル10000users入り'], $metadata->tags);
if ($this->shouldUseMock()) {
$this->assertSame('https://www.pixiv.net/ajax/illust/46713544', (string) $this->handler->getLastRequest()->getUri());
}
}
}

View File

@@ -20,7 +20,7 @@ class PlurkResolverTest extends TestCase
public function test()
{
$responseText = file_get_contents(__DIR__ . '/../../fixture/Plurk/test.html');
$responseText = file_get_contents(__DIR__.'/../../fixture/Plurk/test.html');
$this->createResolver(PlurkResolver::class, $responseText);

View File

@@ -28,9 +28,6 @@ class SteamResolverTest extends TestCase
$this->assertEquals('NEKOPARA Vol. 1', $metadata->title);
$this->assertEquals('水無月嘉祥(みなづき かしょう)は伝統ある老舗和菓子屋である実家を出て、 パティシエとして自身のケーキ屋『ラ・ソレイユ』を一人で開店する。 しかし実家から送った引っ越し荷物の中に、 実家で飼っていた人型ネコのショコラとバニラが紛れ込んでいた。', $metadata->description);
$this->assertStringStartsWith('https://steamcdn-a.akamaihd.net/steam/apps/333600/header.jpg?t=', $metadata->image);
if ($this->shouldUseMock()) {
$this->assertSame('https://store.steampowered.com/api/appdetails/?l=japanese&appids=333600', (string) $this->handler->getLastRequest()->getUri());
}
}
public function testR18()
@@ -43,9 +40,6 @@ class SteamResolverTest extends TestCase
$this->assertEquals('Broke Girl | 負債千金', $metadata->title);
$this->assertEquals('苦労知らずに育ったお嬢様は一夜にして1000万の借金を背負うことになった。借金を返済するために働かなければならない。しかし世間には悪意が満ちており、男達はお金で彼女を誘うか凌辱することしか考えていない。', $metadata->description);
$this->assertStringStartsWith('https://steamcdn-a.akamaihd.net/steam/apps/1077580/header.jpg?t=', $metadata->image);
if ($this->shouldUseMock()) {
$this->assertSame('https://store.steampowered.com/api/appdetails/?l=japanese&appids=1077580', (string) $this->handler->getLastRequest()->getUri());
}
}
public function testNotFound()
@@ -57,8 +51,5 @@ class SteamResolverTest extends TestCase
$this->createResolver(SteamResolver::class, $responseText);
$this->resolver->resolve('https://store.steampowered.com/app/1');
if ($this->shouldUseMock()) {
$this->assertSame('https://store.steampowered.com/api/appdetails/?l=japanese&appids=1', (string) $this->handler->getLastRequest()->getUri());
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,437 +0,0 @@
{
"content": {
"attributes": {
"artists": {
"meta": {
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"name": "Artists"
},
"id": 2,
"name_read": "Artists",
"new_content_count": 0,
"pages": null,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.304746387Z",
"slug": "artists",
"source": "live",
"visibility": 1
},
"children": [
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "薙派",
"name_en": "chiba",
"published": "",
"searchTerms": "ちば,チバ",
"tankoubonLabel": "",
"visibility": true
},
"id": 1722,
"name_read": "ちば",
"new_content_count": 0,
"pages": null,
"parent_id": 2,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.303687274Z",
"slug": "chiba",
"source": "live",
"visibility": 1
}
]
},
"label": {
"meta": {
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "Labels",
"name_en": "",
"searchTerms": "",
"visibility": true
},
"id": 638,
"name_read": "",
"new_content_count": 0,
"pages": null,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.304743971Z",
"slug": "label",
"source": "live",
"visibility": 1
},
"children": [
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "First double page",
"name_en": "",
"searchTerms": "",
"visibility": true
},
"id": 659,
"name_read": "",
"new_content_count": 0,
"pages": null,
"parent_id": 638,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.30368064Z",
"slug": "label-firstdoublepage",
"source": "live",
"visibility": 1
}
]
},
"tags": {
"meta": {
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"name": "Tags"
},
"id": 1,
"name_read": "Tags",
"new_content_count": 0,
"pages": null,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.304745145Z",
"slug": "tags",
"source": "live",
"visibility": 1
},
"children": [
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "お姉さん",
"name_en": "Mature sister",
"published": "",
"searchTerms": "おねえさん,年上,おねーさん,オネエサン",
"tankoubonLabel": "",
"visibility": true
},
"id": 59,
"name_read": "おねえさん",
"new_content_count": 0,
"pages": null,
"parent_id": 1,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.303682097Z",
"slug": "oneesan",
"source": "live",
"visibility": 1
},
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "ショタ",
"name_en": "Little boy",
"published": "",
"searchTerms": "しょた,ショタコン,小学生,中学生",
"tankoubonLabel": "",
"visibility": true
},
"id": 75,
"name_read": "しょた",
"new_content_count": 0,
"pages": null,
"parent_id": 1,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.303683565Z",
"slug": "shota",
"source": "live",
"visibility": 1
},
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "ファンタジー",
"name_en": "",
"published": "",
"searchTerms": "ふぁんたじー,SF,妖怪",
"tankoubonLabel": "",
"visibility": true
},
"id": 98,
"name_read": "ふぁんたじー",
"new_content_count": 0,
"pages": null,
"parent_id": 1,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.30368434Z",
"slug": "fantasy",
"source": "live",
"visibility": 1
},
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "巨乳",
"name_en": "Big breasts",
"published": "",
"searchTerms": "きょにゅう,キョニュウ,爆乳",
"tankoubonLabel": "",
"visibility": true
},
"id": 37,
"name_read": "きょにゅう",
"new_content_count": 0,
"pages": null,
"parent_id": 1,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.303686492Z",
"slug": "kyonyu",
"source": "live",
"visibility": 1
},
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "野外・露出",
"name_en": "In public",
"published": "",
"searchTerms": "やがい,ろしゅつ,露出狂,アオカン,青姦",
"tankoubonLabel": "",
"visibility": true
},
"id": 53,
"name_read": "やがい",
"new_content_count": 0,
"pages": null,
"parent_id": 1,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.30368814Z",
"slug": "yagai",
"source": "live",
"visibility": 1
},
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "羞恥",
"name_en": "Shy girl",
"published": "",
"searchTerms": "しゅうち,シュウチ,羞恥プレイ",
"tankoubonLabel": "",
"visibility": true
},
"id": 47,
"name_read": "しゅうち",
"new_content_count": 0,
"pages": null,
"parent_id": 1,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.303688932Z",
"slug": "shuchi",
"source": "live",
"visibility": 1
}
]
},
"tags-hidden": {
"meta": {
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "Hidden tags",
"name_en": "",
"published": "",
"searchTerms": "",
"tankoubonLabel": "",
"visibility": true
},
"id": 783,
"name_read": "",
"new_content_count": 0,
"pages": null,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.304741513Z",
"slug": "tags-hidden",
"source": "live",
"visibility": 1
},
"children": [
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "COMICメガストアαsearch",
"name_en": "",
"published": "",
"searchTerms": "メガストア,めがすとあ",
"tankoubonLabel": "",
"visibility": true
},
"id": 1009,
"name_read": "",
"new_content_count": 0,
"pages": null,
"parent_id": 783,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:56:11.303678935Z",
"slug": "megastore-search",
"source": "live",
"visibility": 1
}
]
}
},
"body": "",
"cdn_public": "https://cdn.komiflo.com/resized",
"cdn_thumbs": "",
"children": [],
"comments_count": 3,
"data": {
"category": "",
"censorship": "モザイク修正",
"download_type": "",
"isbn": "",
"link_amazon": "",
"link_dlsite": "",
"link_dmm": "",
"link_wani": "",
"msrp": "",
"naughty": "",
"restricted": "",
"size": "",
"title": "魔法少女とえっち物語",
"url": ""
},
"expiry": "2020-06-20T15:00:00Z",
"id": 5490,
"imgs": null,
"key_data": "",
"key_hash": "",
"liked": false,
"likes_count": 127,
"named_imgs": {
"cover": {
"id": 79325,
"original": 81185,
"width": 4299,
"height": 6071,
"ident": "cover",
"filename": "contents/23a4cd530060b8607aa434f4b299b249e71a4d5c.jpg",
"variants": [
"148_desktop_small",
"296_desktop_small_2x",
"198_desktop_medium",
"396_desktop_medium_2x",
"247_desktop_large",
"494_desktop_large_2x",
"160_mobile_narrow",
"320_mobile_narrow_2x",
"207_mobile_medium",
"414_mobile_medium_2x",
"188_mobile_large",
"376_mobile_large_2x",
"564_mobile_large_3x",
"346_mobile"
]
}
},
"page_count": 0,
"parents": [
{
"body": "",
"cdn_public": "",
"cdn_thumbs": "",
"data": {
"category": "",
"download_type": "",
"isbn": "",
"link_amazon": "",
"link_dlsite": "",
"link_dmm": "",
"link_wani": "",
"msrp": "780",
"release_date": "",
"size": "",
"title": "メガストアα 19.07",
"url": ""
},
"expiry": "2020-06-20T15:00:00Z",
"id": 5474,
"likes_count": 0,
"page_count": null,
"premium": false,
"public": false,
"published": "2019-06-20T15:00:00Z",
"reading_lists": null,
"signature": "",
"signature_expires": "2019-06-27T02:56:11Z",
"slug": null,
"source": "cache",
"type": "volume"
}
],
"premium": false,
"public": true,
"published": "2019-06-20T15:00:00Z",
"reading_lists": [],
"signature": "?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4ua29taWZsby5jb20vKi9jb250ZW50cy8qIiwiQ29uZGl0aW9uIjp7IklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiIzOS4xMTEuMjE4LjE2MC8zMiJ9LCJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTU2MTYwNDE3MX19fV19&Signature=ilu4WlHoMMecmk8Ab3UuJ3LBTe~FhQxoGVdPbBF9CTrTB-Teockvf43MgWuAzWgsfFrwmCeV-hedV-iEx07B3S~D7ObXWCFcbPd1rb12D0qY~NF2SfGTv8lIbCDMQkc9wyUtE5K4MlZ35Bm4mZRv9HtEZkX1yjkVuAV7sBScBfJUkfnlg6yYsL2d2g4tDkN8gCOjZChUODetZPm05qwTmItIbq0kQhirgXNV~R1z~kFRwsgoBYClCq3vpQCsCy7tbKGmzHz6ku-PgpopqsOCmAaCl9Jh4D2pw8R64aREw6SX4tSoe7NPKG4KbtLzBsio260luuORDeaFcTjvlQI0~g__&Key-Pair-Id=APKAIILYVN5NFPDL7WIA",
"signature_expires": "2019-06-27T02:56:11Z",
"slug": null,
"source": "live",
"type": "chapter"
},
"success": true
}

View File

@@ -1,298 +0,0 @@
{
"content": {
"attributes": {
"artists": {
"meta": {
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"name": "Artists"
},
"id": 2,
"name_read": "Artists",
"new_content_count": 0,
"pages": null,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:50:55.176026561Z",
"slug": "artists",
"source": "live",
"visibility": 1
},
"children": [
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "EROKI",
"name_en": "eroki",
"published": "",
"searchTerms": "えろき,エロキ",
"tankoubonLabel": "",
"visibility": true
},
"id": 836,
"name_read": "えろき",
"new_content_count": 0,
"pages": null,
"parent_id": 2,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:50:55.174698472Z",
"slug": "eroki",
"source": "live",
"visibility": 1
}
]
},
"tags": {
"meta": {
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"name": "Tags"
},
"id": 1,
"name_read": "Tags",
"new_content_count": 0,
"pages": null,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:50:55.176028723Z",
"slug": "tags",
"source": "live",
"visibility": 1
},
"children": [
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "お姉さん",
"name_en": "Mature sister",
"published": "",
"searchTerms": "おねえさん,年上,おねーさん,オネエサン",
"tankoubonLabel": "",
"visibility": true
},
"id": 59,
"name_read": "おねえさん",
"new_content_count": 0,
"pages": null,
"parent_id": 1,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:50:55.174699935Z",
"slug": "oneesan",
"source": "live",
"visibility": 1
},
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "しつけ",
"name_en": "Discipline",
"published": "",
"searchTerms": "しつけ,躾,シツケ",
"tankoubonLabel": "",
"visibility": true
},
"id": 69,
"name_read": "しつけ",
"new_content_count": 0,
"pages": null,
"parent_id": 1,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:50:55.174701095Z",
"slug": "shitsuke",
"source": "live",
"visibility": 1
},
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "オリジナル",
"name_en": "",
"published": "",
"searchTerms": "おりじなる,オリジナル",
"tankoubonLabel": "",
"visibility": true
},
"id": 534,
"name_read": "おりじなる",
"new_content_count": 0,
"pages": null,
"parent_id": 1,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:50:55.174702761Z",
"slug": "original",
"source": "live",
"visibility": 1
},
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "ショートカット",
"name_en": "",
"published": "",
"searchTerms": "ショートヘアー,ショート,しょーと,しょーとへあ",
"tankoubonLabel": "",
"visibility": true
},
"id": 798,
"name_read": "しょーとかっと",
"new_content_count": 0,
"pages": null,
"parent_id": 1,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:50:55.174703509Z",
"slug": "shorthair",
"source": "live",
"visibility": 1
},
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "逆転",
"name_en": "",
"published": "",
"searchTerms": "ぎゃくてん,女性優位,ギャクテン",
"tankoubonLabel": "",
"visibility": true
},
"id": 74,
"name_read": "ぎゃくてん",
"new_content_count": 0,
"pages": null,
"parent_id": 1,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:50:55.174705548Z",
"slug": "gyakuten",
"source": "live",
"visibility": 1
},
{
"cdn_public": "",
"cdn_thumbs": "",
"content_count": 0,
"data": {
"href": "",
"ipRestrict": "",
"name": "巨乳",
"name_en": "Big breasts",
"published": "",
"searchTerms": "きょにゅう,キョニュウ,爆乳",
"tankoubonLabel": "",
"visibility": true
},
"id": 37,
"name_read": "きょにゅう",
"new_content_count": 0,
"pages": null,
"parent_id": 1,
"published": null,
"signature": "",
"signature_expires": "2019-06-26T14:50:55.174706294Z",
"slug": "kyonyu",
"source": "live",
"visibility": 1
}
]
}
},
"body": "",
"cdn_public": "https://cdn.komiflo.com/resized",
"cdn_thumbs": "",
"children": [],
"comments_count": 26,
"data": {
"category": "",
"censorship": "黒棒による修正",
"download_type": "",
"isbn": "",
"link_amazon": "",
"link_dlsite": "",
"link_dmm": "",
"link_wani": "",
"msrp": "",
"naughty": "",
"restricted": "",
"size": "",
"title": "生まれなおしプログラム",
"url": ""
},
"expiry": null,
"id": 3414,
"imgs": null,
"key_data": "",
"key_hash": "",
"liked": false,
"likes_count": 627,
"named_imgs": {
"cover": {
"id": 49645,
"original": 50622,
"width": 4299,
"height": 6071,
"ident": "cover",
"filename": "contents/71cfb83640aead3cdd35e4329c4e2f427606a11d.jpg",
"variants": [
"148_desktop_small",
"296_desktop_small_2x",
"198_desktop_medium",
"396_desktop_medium_2x",
"247_desktop_large",
"494_desktop_large_2x",
"160_mobile_narrow",
"320_mobile_narrow_2x",
"207_mobile_medium",
"414_mobile_medium_2x",
"188_mobile_large",
"376_mobile_large_2x",
"564_mobile_large_3x",
"346_mobile"
]
}
},
"page_count": 0,
"parents": [],
"premium": false,
"public": true,
"published": "2018-04-10T15:00:00Z",
"reading_lists": [],
"signature": "?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4ua29taWZsby5jb20vKi9jb250ZW50cy8qIiwiQ29uZGl0aW9uIjp7IklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiIzOS4xMTEuMjE4LjE2MC8zMiJ9LCJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTU2MTYwMzg1NX19fV19&Signature=bZFuvU1rgv2iBSSFlxyoexOIjjacWW4Sxe--EEjI2ruQPNnZE8iU542yCsWBSrmHfFOXFcYNKIf3PmTAxwjS-CeoyRc~O0VO6T9bNdlinFICMezNTPlYe0Ri~nUWxQ8Oy364ik5zrd5RwHmEOVMjfuc96N6ivrcL9Q5tfi-2sFs~8S9m-IH76Kf7dLXn8~TRPfGFj8bfyoDcn42YfCvfXzl4D92EnKjQO52x2~KICQR3X7igirQ6X1GmuYEoJd9GAYZlKNKUEQch7T6dpR-uJZEJ5hOJDsWrIJkvoMu9ZTBgdZOZGuNLfWunAJ0NhovNlN6-D8PmlhSd79Mu0P2LUA__&Key-Pair-Id=APKAIILYVN5NFPDL7WIA",
"signature_expires": "2019-06-27T02:50:55Z",
"slug": null,
"source": "live",
"type": "chapter"
},
"success": true
}

View File

@@ -1,11 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><link rel="alternate" media="handheld" href="http://mb.nijie.info/view.php?id=9537" /><link rel="alternate" media="only screen and (max-width: 640px)" href="https://sp.nijie.info/view.php?id=9537" /><link rel="canonical" href="https://nijie.info/view.php?id=9537" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=970" /><meta name="format-detection" content="telephone=no" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta http-equiv="Content-Style-Type" content="text/css; charset=utf-8" /><meta http-equiv="Content-Script-Type" content="text/javascript" /><meta http-equiv="Content-Language" content="ja" /><meta name="description" content="ニジエに投稿された、黒末アプコのイラスト「ニジエがgifに対応したんだってね 奥さん」です。この画像はニジエがgifに対応したんだってね 奥さん,黒末アプコ,おっぱい,陥没乳首,眼鏡,GIFアニメ,ぶるんぶるん,アニメgif,に関連があります。「アニメgifとか専門外なのでよくわかりませんでした」" /><meta name="keywords" content="ニジエがgifに対応したんだってね 奥さん,黒末アプコ,おっぱい,陥没乳首,眼鏡,GIFアニメ,ぶるんぶるん,アニメgif," /><meta property="og:title" content="ニジエがgifに対応したんだってね 奥さん | 黒末アプコ" /><meta property="og:type" content="article" /><meta property="og:description" content="アニメgifとか専門外なのでよくわかりませんでした" /><meta property="og:url" content="https://nijie.info/view.php?id=9537" /><meta property="og:image" content="https://nijie.info/pic/logo/nijie_logo_og.png?201902161557" /><meta property="og:site_name" content="ニジエがgifに対応したんだってね 奥さん | 黒末アプコ | ニジエ" /><meta property="og:email" content="info@nijie.co.jp" /><link rel="alternate" href="https://nijie.info/view.php?id=9537" hreflang="x-default" /><link rel="shortcut icon" href="https://nijie.info/icon/favicon.ico?201902161557" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="https://nijie.info/pic/icon/nijie.png?201902161557" /><title>ニジエがgifに対応したんだってね 奥さん | 黒末アプコ | ニジエ</title></head>
<body>
<!-- pickup some json -->
<script type="application/ld+json">{"@context": "http://schema.org","@type": "ImageObject","name": "ニジエがgifに対応したんだってね 奥さん","description": "アニメgifとか専門外なのでよくわかりませんでした","text": "アニメgifとか専門外なのでよくわかりませんでした","interactionCount": "10862 UserPlays, 6 UserComments","datePublished": "Sun Apr 8 06:59:48 2012","uploadDate": "Sun Apr 8 06:59:48 2012","dateModified": "Mon Apr 9 17:09:30 2012","copyrightYear": "2012","genre":"Image","contentLocation":"Japan","width":160,"height":90,"thumbnailUrl": "https://pic01.nijie.info/__rs_l160x160/nijie_picture/201204080659341943.gif","author": {"@type": "Person","name": "黒末アプコ","description": "判子エロ絵師とはわたしのことです","sameAs": "https://nijie.info/members.php?id=1943","image": "https://pic04.nijie.info/members_picture/thumbnail/1943_1542569693.gif"},"creator": {"@type": "Person","name": "黒末アプコ","description": "判子エロ絵師とはわたしのことです","sameAs": "https://nijie.info/members.php?id=1943","image": "https://pic04.nijie.info/members_picture/thumbnail/1943_1542569693.gif"},"editor": {"@type": "Person","name": "黒末アプコ","description": "判子エロ絵師とはわたしのことです","sameAs": "https://nijie.info/members.php?id=1943","image": "https://pic04.nijie.info/members_picture/thumbnail/1943_1542569693.gif"},"copyrightHolder": {"@type": "Person","name": "黒末アプコ","description": "判子エロ絵師とはわたしのことです","sameAs": "https://nijie.info/members.php?id=1943","image": "https://pic04.nijie.info/members_picture/thumbnail/1943_1542569693.gif"}}</script>
<script type="application/ld+json">{"@context": "http://schema.org","@type": "Review","reviewBody": "ティッシュ","author": {"@type": "Person","name": "黒末アプコ","description": "判子エロ絵師とはわたしのことです","sameAs": "https://nijie.info/members.php?id=1943","image": "http://pic04.nijie.info/members_picture/thumbnail/1943_1542569693.gif"},"datePublished": "Wed Nov 19 12:57:57 2014","contentLocation": "Japan","itemReviewed": {"@type" : "ImageObject","name" : "ニジエがgifに対応したんだってね 奥さん","sameAs": "https://nijie.info/view.php?id=9537"}}</script>
<script type="application/ld+json">{"@context": "http://schema.org","@type": "Review","reviewBody": "ひっ さくや様! ガタガタガタ  ","author": {"@type": "Person","name": "黒末アプコ","description": "判子エロ絵師とはわたしのことです","sameAs": "https://nijie.info/members.php?id=1943","image": "http://pic04.nijie.info/members_picture/thumbnail/1943_1542569693.gif"},"datePublished": "Thu Apr 19 20:48:02 2012","contentLocation": "Japan","itemReviewed": {"@type" : "ImageObject","name" : "ニジエがgifに対応したんだってね 奥さん","sameAs": "https://nijie.info/view.php?id=9537"}}</script>
<script type="application/ld+json">{"@context": "http://schema.org","@type": "Review","reviewBody": "さっ、最高です!!","author": {"@type": "Person","name": "黒末アプコ","description": "判子エロ絵師とはわたしのことです","sameAs": "https://nijie.info/members.php?id=1943","image": "http://pic04.nijie.info/members_picture/thumbnail/1943_1542569693.gif"},"datePublished": "Thu Apr 19 20:35:19 2012","contentLocation": "Japan","itemReviewed": {"@type" : "ImageObject","name" : "ニジエがgifに対応したんだってね 奥さん","sameAs": "https://nijie.info/view.php?id=9537"}}</script>
<script type="application/ld+json">{"@context": "http://schema.org","@type": "Review","reviewBody": "ぎょっ 新着コメントがtopに表示されないバグ  しこっていただけてさいわいです","author": {"@type": "Person","name": "黒末アプコ","description": "判子エロ絵師とはわたしのことです","sameAs": "https://nijie.info/members.php?id=1943","image": "http://pic04.nijie.info/members_picture/thumbnail/1943_1542569693.gif"},"datePublished": "Sun Apr 8 14:04:52 2012","contentLocation": "Japan","itemReviewed": {"@type" : "ImageObject","name" : "ニジエがgifに対応したんだってね 奥さん","sameAs": "https://nijie.info/view.php?id=9537"}}</script>
<script type="application/ld+json">{"@context": "http://schema.org","@type": "BreadcrumbList","itemListElement":[{"@type": "ListItem","position": 1,"item":{"@id": "https://nijie.info/members.php?id=1943","name": "黒末アプコ"}},{"@type": "ListItem","position": 2,"item":{"@id": "https://nijie.info/members_illust.php?id=1943","name": "黒末アプコさんのイラスト一覧"}},{"@type": "ListItem","position": 3,"item":{"@id": "https://nijie.info/view.php?id=9537","name": "ニジエがgifに対応したんだってね 奥さん"}}]}</script>
</body></html>

File diff suppressed because one or more lines are too long

View File

@@ -1,12 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><link rel="alternate" media="handheld" href="http://mb.nijie.info/view.php?id=202707" /><link rel="alternate" media="only screen and (max-width: 640px)" href="https://sp.nijie.info/view.php?id=202707" /><link rel="canonical" href="https://nijie.info/view.php?id=202707" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=970" /><meta name="format-detection" content="telephone=no" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta http-equiv="Content-Style-Type" content="text/css; charset=utf-8" /><meta http-equiv="Content-Script-Type" content="text/javascript" /><meta http-equiv="Content-Language" content="ja" /><meta name="description" content="ニジエに投稿された、ニジエ運営のイラスト「ニジエ壁紙」です。この画像はニジエ壁紙,ニジエ運営,ニジエたん,壁紙,に関連があります。「ニジエのPCとiphone用(4.7inch推奨)の壁紙です。
保存してご自由にお使いくださいませ。」" /><meta name="keywords" content="ニジエ壁紙,ニジエ運営,ニジエたん,壁紙," />
<meta property="og:title" content="ニジエ壁紙 | ニジエ運営" /><meta property="og:type" content="article" /><meta property="og:description" content="ニジエのPCとiphone用(4.7inch推奨)の壁紙です。
保存してご自由にお使いくださいませ。" /><meta property="og:url" content="https://nijie.info/view.php?id=202707" /><meta property="og:image" content="https://nijie.info/pic/logo/nijie_logo_og.png?201902161557" /><meta property="og:site_name" content="ニジエ壁紙 | ニジエ運営 | ニジエ" /><meta property="og:email" content="info@nijie.co.jp" /><link rel="alternate" href="https://nijie.info/view.php?id=202707" hreflang="x-default" /><link rel="shortcut icon" href="https://nijie.info/icon/favicon.ico?201902161557" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="https://nijie.info/pic/icon/nijie.png?201902161557" /><title>ニジエ壁紙 | ニジエ運営 | ニジエ</title></head>
<body>
<!-- pickup some JSON-LD -->
<script type="application/ld+json">{"@context": "http://schema.org","@type": "ImageObject","name": "ニジエ壁紙","description": "ニジエのPCとiphone用(4.7inch推奨)の壁紙です。
保存してご自由にお使いくださいませ。","text": "ニジエのPCとiphone用(4.7inch推奨)の壁紙です。
保存してご自由にお使いくださいませ。","interactionCount": "2301 UserPlays, 4 UserComments","datePublished": "Thu Feb 9 18:58:03 2017","uploadDate": "Thu Feb 9 18:58:03 2017","dateModified": "Thu Feb 9 18:58:03 2017","copyrightYear": "2017","genre":"Image","contentLocation":"Japan","width":160,"height":90,"thumbnailUrl": "https://pic03.nijie.info/__rs_l160x160/nijie_picture/38_20170209185801_0.png","author": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "https://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"creator": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "https://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"editor": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "https://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"copyrightHolder": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "https://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"}}</script>
<script type="application/ld+json">{"@context": "http://schema.org","@type": "Review","reviewBody": "やったぜ!","author": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "http://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"datePublished": "Fri Feb 17 01:31:00 2017","contentLocation": "Japan","itemReviewed": {"@type" : "ImageObject","name" : "ニジエ壁紙","sameAs": "https://nijie.info/view.php?id=202707"}}</script>
<script type="application/ld+json">{"@context": "http://schema.org","@type": "Review","reviewBody": "ぺろぺろしたいです","author": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "http://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"datePublished": "Fri Feb 17 01:30:54 2017","contentLocation": "Japan","itemReviewed": {"@type" : "ImageObject","name" : "ニジエ壁紙","sameAs": "https://nijie.info/view.php?id=202707"}}</script>
</body></html>

View File

@@ -1,16 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><link rel="alternate" media="handheld" href="http://mb.nijie.info/view.php?id=66384" /><link rel="alternate" media="only screen and (max-width: 640px)" href="https://sp.nijie.info/view.php?id=66384" /><link rel="canonical" href="https://nijie.info/view.php?id=66384" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=970" /><meta name="format-detection" content="telephone=no" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta http-equiv="Content-Style-Type" content="text/css; charset=utf-8" /><meta http-equiv="Content-Script-Type" content="text/javascript" /><meta http-equiv="Content-Language" content="ja" /><meta name="description" content="ニジエに投稿された、ニジエ運営のイラスト「チンポップくんの日常ep.1「チンポップくんと釣り」」です。この画像はチンポップくんの日常ep.1「チンポップくんと釣り」,ニジエ運営,ニジエたん,釣り,チンポップ君の日常,公式漫画,に関連があります。「メールマガジン漫画のバックナンバー第一話です!
最新話はメールマガジンより配信中です。」" /><meta name="keywords" content="チンポップくんの日常ep.1「チンポップくんと釣り」,ニジエ運営,ニジエたん,釣り,チンポップ君の日常,公式漫画," /><meta property="og:title" content="チンポップくんの日常ep.1「チンポップくんと釣り」 | ニジエ運営" /><meta property="og:type" content="article" /><meta property="og:description" content="メールマガジン漫画のバックナンバー第一話です!
最新話はメールマガジンより配信中です。" /><meta property="og:url" content="https://nijie.info/view.php?id=66384" /><meta property="og:image" content="https://nijie.info/pic/logo/nijie_logo_og.png?201902161557" /><meta property="og:site_name" content="チンポップくんの日常ep.1「チンポップくんと釣り」 | ニジエ運営 | ニジエ" /><meta property="og:email" content="info@nijie.co.jp" /><link rel="alternate" href="https://nijie.info/view.php?id=66384" hreflang="x-default" /><link rel="shortcut icon" href="https://nijie.info/icon/favicon.ico?201902161557" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="https://nijie.info/pic/icon/nijie.png?201902161557" /><title>チンポップくんの日常ep.1「チンポップくんと釣り」 | ニジエ運営 | ニジエ</title></head>
<body>
<!-- pickup only json -->
<script type="application/ld+json">{"@context": "http://schema.org","@type": "ImageObject","name": "チンポップくんの日常ep.1「チンポップくんと釣り」","description": "メールマガジン漫画のバックナンバー第一話です!
最新話はメールマガジンより配信中です。","text": "メールマガジン漫画のバックナンバー第一話です!
最新話はメールマガジンより配信中です。","interactionCount": "13634 UserPlays, 24 UserComments","datePublished": "Sat Nov 30 15:56:26 2013","uploadDate": "Sat Nov 30 15:56:26 2013","dateModified": "Sat Nov 30 15:56:26 2013","copyrightYear": "2013","genre":"Image","contentLocation":"Japan","width":160,"height":90,"thumbnailUrl": "https://pic04.nijie.info/__rs_l160x160/nijie_picture/38_20131130155623.png","author": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "https://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"creator": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "https://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"editor": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "https://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"copyrightHolder": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "https://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"}}</script>
<script type="application/ld+json">{"@context": "http://schema.org","@type": "Review","reviewBody": "ミルコ字幕","author": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "http://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"datePublished": "Tue Jan 27 08:58:02 2015","contentLocation": "Japan","itemReviewed": {"@type" : "ImageObject","name" : "チンポップくんの日常ep.1「チンポップくんと釣り」","sameAs": "https://nijie.info/view.php?id=66384"}}</script>
<script type="application/ld+json">{"@context": "http://schema.org","@type": "Review","reviewBody": "ティッシュ","author": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "http://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"datePublished": "Tue Aug 26 17:56:41 2014","contentLocation": "Japan","itemReviewed": {"@type" : "ImageObject","name" : "チンポップくんの日常ep.1「チンポップくんと釣り」","sameAs": "https://nijie.info/view.php?id=66384"}}</script>
<script type="application/ld+json">{"@context": "http://schema.org","@type": "Review","reviewBody": "ヨダレもの","author": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "http://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"datePublished": "Mon Jun 23 10:17:29 2014","contentLocation": "Japan","itemReviewed": {"@type" : "ImageObject","name" : "チンポップくんの日常ep.1「チンポップくんと釣り」","sameAs": "https://nijie.info/view.php?id=66384"}}</script>
<script type="application/ld+json">{"@context": "http://schema.org","@type": "Review","reviewBody": "おまわりさんこっちです","author": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "http://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"datePublished": "Thu Mar 27 10:49:56 2014","contentLocation": "Japan","itemReviewed": {"@type" : "ImageObject","name" : "チンポップくんの日常ep.1「チンポップくんと釣り」","sameAs": "https://nijie.info/view.php?id=66384"}}</script>
<script type="application/ld+json">{"@context": "http://schema.org","@type": "Review","reviewBody": "めちゃシコ","author": {"@type": "Person","name": "ニジエ運営","description": "ニジエンジョイ!","sameAs": "https://nijie.info/members.php?id=38","image": "http://pic04.nijie.info/members_picture/thumbnail/38_1511696698.png"},"datePublished": "Sat Feb 15 18:47:22 2014","contentLocation": "Japan","itemReviewed": {"@type" : "ImageObject","name" : "チンポップくんの日常ep.1「チンポップくんと釣り」","sameAs": "https://nijie.info/view.php?id=66384"}}</script>
</body>
</html>

View File

@@ -1,824 +0,0 @@
{
"error": false,
"message": "",
"body": {
"illustId": "68188073",
"illustTitle": "coffee break",
"illustComment": "",
"id": "68188073",
"title": "coffee break",
"description": "",
"illustType": 0,
"createDate": "2018-04-11T15:01:28+00:00",
"uploadDate": "2018-04-11T15:01:28+00:00",
"restrict": 0,
"xRestrict": 0,
"sl": 2,
"urls": {
"mini": "https://i.pximg.net/c/48x48/img-master/img/2018/04/12/00/01/28/68188073_p0_square1200.jpg",
"thumb": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/04/12/00/01/28/68188073_p0_square1200.jpg",
"small": "https://i.pximg.net/c/540x540_70/img-master/img/2018/04/12/00/01/28/68188073_p0_master1200.jpg",
"regular": "https://i.pximg.net/img-master/img/2018/04/12/00/01/28/68188073_p0_master1200.jpg",
"original": "https://i.pximg.net/img-original/img/2018/04/12/00/01/28/68188073_p0.jpg"
},
"tags": {
"authorId": "17810",
"isLocked": false,
"tags": [
{
"tag": "オリジナル",
"locked": true,
"deletable": false,
"userId": "17810",
"romaji": "orijinaru",
"translation": {
"en": "original"
},
"userName": "裕"
},
{
"tag": "カフェ",
"locked": true,
"deletable": false,
"userId": "17810",
"romaji": "kafe",
"translation": {
"en": "cafe"
},
"userName": "裕"
},
{
"tag": "眼鏡",
"locked": true,
"deletable": false,
"userId": "17810",
"romaji": "megane",
"translation": {
"en": "glasses"
},
"userName": "裕"
},
{
"tag": "イヤホン",
"locked": true,
"deletable": false,
"userId": "17810",
"romaji": "iyahonn",
"translation": {
"en": "earphones"
},
"userName": "裕"
},
{
"tag": "ぱっつん",
"locked": false,
"deletable": false,
"romaji": "pattsunn",
"translation": {
"en": "straight fringe"
}
},
{
"tag": "艶ぼくろ",
"locked": false,
"deletable": false,
"romaji": "tsuyabokuro"
},
{
"tag": "眼鏡っ娘",
"locked": false,
"deletable": false,
"romaji": "meganekko",
"translation": {
"en": "girl with glasses"
}
},
{
"tag": "オリジナル5000users入り",
"locked": false,
"deletable": false,
"romaji": "orijinarugosennyu-za-zuiri",
"translation": {
"en": "original 5000+ bookmarks"
}
}
],
"writable": false
},
"storableTags": [
"RTJMXD26Ak",
"-UnxstvmLW",
"Nbvc4l7O_x",
"FTUtcpiOkA",
"w0fH70xUZS",
"27uevOlfIe",
"Sjwi7bh6-s",
"_pwIgrV8TB"
],
"userId": "17810",
"userName": "裕",
"userAccount": "youcapriccio",
"userIllusts": {
"14053843": null,
"14053937": null,
"14054027": null,
"14054186": null,
"14062828": null,
"14477076": null,
"14792405": null,
"16046742": null,
"16138239": null,
"16352926": null,
"16452748": null,
"16915557": null,
"17083628": null,
"17210510": null,
"17386995": null,
"17423518": null,
"17448062": null,
"17543415": null,
"17568036": null,
"17593779": null,
"17619003": null,
"17628888": null,
"17698823": null,
"17817803": null,
"17942662": null,
"18161965": null,
"18212527": null,
"18837942": null,
"19413060": null,
"19692459": null,
"19966924": null,
"19972770": null,
"20324120": null,
"20340204": null,
"20366995": null,
"20471558": null,
"20602724": null,
"20604539": null,
"20688177": null,
"21091157": null,
"21458619": null,
"21465117": null,
"21499486": null,
"21761917": null,
"22045640": null,
"22123124": null,
"22197758": null,
"22218971": null,
"22234319": null,
"22283588": null,
"22646212": null,
"22671292": null,
"23077173": null,
"23652482": null,
"24064845": null,
"24665326": null,
"24679135": null,
"24712190": null,
"24947762": null,
"25329936": null,
"26366272": null,
"27393935": null,
"27485745": null,
"27666949": null,
"28259132": null,
"28342787": null,
"28472420": null,
"28542432": null,
"28802580": null,
"28944777": null,
"29191265": null,
"29205875": null,
"29684473": null,
"29783263": null,
"30192166": null,
"31110886": null,
"31537645": null,
"32646946": null,
"32750353": null,
"33202416": null,
"33395376": null,
"33440266": null,
"35365709": null,
"35460263": null,
"36004858": null,
"36165748": null,
"36700962": null,
"36701188": null,
"36701484": null,
"36701689": null,
"37016640": null,
"37095482": null,
"37547592": null,
"39164365": null,
"40884078": null,
"41559080": null,
"46072865": null,
"46201289": null,
"46278624": null,
"47055452": null,
"47778617": null,
"48069391": null,
"48695249": null,
"48803034": null,
"49208325": null,
"49928045": null,
"51884036": null,
"51945556": null,
"52323083": null,
"52335660": null,
"52420382": null,
"52665902": null,
"52698908": null,
"52879266": null,
"53242280": null,
"53349656": null,
"53416534": null,
"53539911": null,
"53691135": null,
"53883574": null,
"53883648": null,
"54260186": null,
"54772276": null,
"54804756": null,
"54928943": null,
"54959965": null,
"55189849": null,
"55486830": null,
"55608689": null,
"55624737": null,
"55722012": null,
"55758248": null,
"55882194": null,
"56678994": null,
"57209033": null,
"57249918": null,
"57330537": null,
"57405593": null,
"57420595": null,
"57775178": null,
"58076340": null,
"59119603": null,
"59261109": null,
"59561361": null,
"59575686": null,
"60021663": null,
"60053226": null,
"60083767": null,
"60421993": null,
"60619841": null,
"60865442": null,
"61015613": null,
"61198859": null,
"61367766": null,
"61544285": null,
"61717134": null,
"61824584": null,
"61914664": null,
"62114491": null,
"62226468": null,
"62991520": null,
"63100455": null,
"63227860": null,
"63515109": null,
"63867496": null,
"64082433": null,
"64304193": null,
"64516472": null,
"64723379": null,
"64930347": null,
"64975155": null,
"65195542": null,
"65405890": null,
"65655985": null,
"65671343": null,
"65690745": null,
"65706774": null,
"65736319": null,
"65982587": null,
"66005055": null,
"66106458": null,
"66414630": null,
"66494466": null,
"66595810": null,
"66681398": null,
"66700481": null,
"66716698": null,
"66772099": null,
"67134385": null,
"67148315": null,
"67207903": null,
"67496395": null,
"67656921": null,
"67868039": null,
"67881973": null,
"67882087": {
"illustId": "67882087",
"illustTitle": "魔龍",
"id": "67882087",
"title": "魔龍",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/03/24/00/05/13/67882087_p0_square1200.jpg",
"description": "",
"tags": [
"オリジナル",
"ドラゴン",
"魔龍",
"仕事絵"
],
"userId": "17810",
"userName": "裕",
"width": 1494,
"height": 1000,
"pageCount": 2,
"isBookmarkable": null,
"bookmarkData": null
},
"67932654": {
"illustId": "67932654",
"illustTitle": "武器デザイン",
"id": "67932654",
"title": "武器デザイン",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/03/27/00/16/43/67932654_p0_square1200.jpg",
"description": "",
"tags": [
"オリジナル",
"仕事絵",
"ファンタジー",
"武器"
],
"userId": "17810",
"userName": "裕",
"width": 1383,
"height": 1573,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"67932696": {
"illustId": "67932696",
"illustTitle": "ファンタジーキャラ×6",
"id": "67932696",
"title": "ファンタジーキャラ×6",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/03/27/00/18/33/67932696_p0_square1200.jpg",
"description": "",
"tags": [
"オリジナル",
"仕事絵",
"ファンタジー",
"デフォルメ",
"SD"
],
"userId": "17810",
"userName": "裕",
"width": 970,
"height": 812,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"67947316": {
"illustId": "67947316",
"illustTitle": "春ピンク🌸",
"id": "67947316",
"title": "春ピンク🌸",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/03/28/00/05/33/67947316_p0_square1200.jpg",
"description": "",
"tags": [
"オリジナル",
"女の子",
"ファッション",
"カチューシャ編み",
"ピアス",
"アイシャドウ",
"マニキュア",
"茶髪"
],
"userId": "17810",
"userName": "裕",
"width": 1173,
"height": 1227,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"68064045": {
"illustId": "68064045",
"illustTitle": "Girls🌸",
"id": "68064045",
"title": "Girls🌸",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/04/04/00/00/32/68064045_p0_square1200.jpg",
"description": "",
"tags": [
"オリジナル",
"ガールズイラスト",
"ファッション",
"ピアス",
"アイシャドウ",
"マニキュア",
"茶髪",
"パーマ"
],
"userId": "17810",
"userName": "裕",
"width": 800,
"height": 1148,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"68146376": {
"illustId": "68146376",
"illustTitle": "ねこ娘",
"id": "68146376",
"title": "ねこ娘",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/04/09/00/14/20/68146376_p0_square1200.jpg",
"description": "",
"tags": [
"ゲゲゲの鬼太郎",
"ねこ娘",
"6期猫娘",
"ゲゲゲの鬼太郎1000users入り"
],
"userId": "17810",
"userName": "裕",
"width": 1200,
"height": 1697,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"68188073": {
"illustId": "68188073",
"illustTitle": "coffee break",
"id": "68188073",
"title": "coffee break",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/04/12/00/01/28/68188073_p0_square1200.jpg",
"description": "",
"tags": [
"オリジナル",
"カフェ",
"眼鏡",
"イヤホン",
"ぱっつん",
"艶ぼくろ",
"眼鏡っ娘",
"オリジナル5000users入り"
],
"userId": "17810",
"userName": "裕",
"width": 1200,
"height": 842,
"pageCount": 1,
"isBookmarkable": true,
"bookmarkData": null
},
"68232025": {
"illustId": "68232025",
"illustTitle": "木漏れ日",
"id": "68232025",
"title": "木漏れ日",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/04/15/00/07/57/68232025_p0_square1200.jpg",
"description": "",
"tags": [
"オリジナル",
"女の子",
"木漏れ日",
"猫",
"オフショルダー",
"猫と女の子",
"オリジナル500users入り"
],
"userId": "17810",
"userName": "裕",
"width": 1200,
"height": 1446,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"68561488": {
"illustId": "68561488",
"illustTitle": "雨上がりとJK",
"id": "68561488",
"title": "雨上がりとJK",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/05/04/00/38/19/68561488_p0_square1200.jpg",
"description": "",
"tags": [
"オリジナル",
"女子高生",
"コミティア",
"COMITIA124",
"制服",
"白ハイソックス",
"魅惑のすね",
"ロングヘアー",
"オリジナル10000users入り"
],
"userId": "17810",
"userName": "裕",
"width": 600,
"height": 767,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"68625248": {
"illustId": "68625248",
"illustTitle": "ドット柄×眼鏡",
"id": "68625248",
"title": "ドット柄×眼鏡",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/05/07/00/57/20/68625248_p0_square1200.jpg",
"description": "",
"tags": [
"オリジナル",
"女の子",
"女子高生",
"ドット柄",
"眼鏡",
"制服",
"腕時計",
"リュックサック",
"リボン",
"オリジナル5000users入り"
],
"userId": "17810",
"userName": "裕",
"width": 600,
"height": 848,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"68684760": {
"illustId": "68684760",
"illustTitle": "告白の日",
"id": "68684760",
"title": "告白の日",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/05/11/00/00/14/68684760_p0_square1200.jpg",
"description": "",
"tags": [
"オリジナル",
"仕事絵",
"女子高生",
"制服",
"カルピス",
"ラブレター",
"カルピスウォーター",
"オリジナル1000users入り"
],
"userId": "17810",
"userName": "裕",
"width": 1400,
"height": 700,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"68780252": {
"illustId": "68780252",
"illustTitle": "たとえばお伽噺に出てくるような、そんな魔法使い",
"id": "68780252",
"title": "たとえばお伽噺に出てくるような、そんな魔法使い",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/05/17/00/03/26/68780252_p0_square1200.jpg",
"description": "",
"tags": [
"オリジナル",
"仕事絵",
"蒼空",
"オリジナル500users入り"
],
"userId": "17810",
"userName": "裕",
"width": 800,
"height": 1141,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"68936315": {
"illustId": "68936315",
"illustTitle": "謎のヒロインX",
"id": "68936315",
"title": "謎のヒロインX",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/05/27/00/01/02/68936315_p0_square1200.jpg",
"description": "",
"tags": [
"Fate/GrandOrder",
"謎のヒロインX",
"FGO",
"Fate/GO1000users入り",
"FGOイラコン2"
],
"userId": "17810",
"userName": "裕",
"width": 2893,
"height": 4092,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"69000379": null,
"69045498": null,
"69138520": null,
"69204438": null,
"69263984": null,
"69311774": null,
"69326765": null,
"69340502": null,
"69390965": null,
"69419351": null,
"69498750": null,
"69755373": null,
"69781341": null,
"69972875": null,
"70042642": null,
"70272492": null,
"70419208": null,
"70959974": null,
"70992219": null,
"71006962": null,
"71022606": null,
"71056067": null,
"71076458": null,
"71094391": null,
"71274492": null,
"71462679": null,
"72235293": null,
"72480342": null,
"72514297": null,
"72535044": null,
"72551222": null,
"72565887": null,
"72581189": null,
"72596181": null,
"72611658": null,
"72629786": null,
"72648764": null,
"72668158": null,
"72683532": null,
"72698000": null,
"72712777": null,
"72744221": null,
"72764549": null,
"72780210": null,
"72795236": null,
"72810723": null,
"72826398": null,
"72841779": null,
"72859874": null,
"72879945": null,
"72894635": null,
"73169245": null,
"73169325": null,
"73206108": null,
"73600652": null,
"74143168": null,
"74157207": null,
"74170787": null,
"74187191": null,
"74208185": null,
"74223553": null,
"74251605": null,
"74265532": null,
"74451789": null,
"74478687": null,
"74502113": null,
"74542366": null,
"74650363": null,
"74664239": null,
"74666682": null,
"74791171": null,
"74827564": null,
"75226739": null,
"75242973": null
},
"likeData": false,
"width": 1200,
"height": 842,
"pageCount": 1,
"bookmarkCount": 5431,
"likeCount": 4324,
"commentCount": 10,
"responseCount": 0,
"viewCount": 35092,
"isHowto": false,
"isOriginal": true,
"imageResponseOutData": [],
"imageResponseData": [],
"imageResponseCount": 0,
"pollData": null,
"seriesNavData": null,
"descriptionBoothId": null,
"descriptionYoutubeId": null,
"comicPromotion": null,
"contestBanners": [],
"factoryGoods": {
"integratable": true,
"integrated": false
},
"isBookmarkable": true,
"bookmarkData": null,
"contestData": null,
"zoneConfig": {
"responsive": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=illust_responsive&format=js&s=0&up=0&ng=w&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg43qwdceqt404kl9&num=5d06c0df289"
},
"300x250": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=illust_rectangle&format=js&s=0&up=0&ng=w&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg43qwdcett5g1ucx&num=5d06c0df449"
},
"header": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=header&format=js&s=0&up=0&ng=w&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg43qwdcewbo66sio&num=5d06c0df704"
},
"footer": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=footer&format=js&s=0&up=0&ng=w&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg43qwdceypre876g&num=5d06c0df256"
},
"expandedFooter": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=multiple_illust_viewer&format=js&s=0&up=0&ng=w&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg43qwdcf11vpcj6t&num=5d06c0df904"
},
"logo": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=logo_side&format=js&s=0&up=0&ng=w&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg43qwdcf3cd2h2z3&num=5d06c0df383"
},
"500x500": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=bigbanner&format=js&s=0&up=0&ng=w&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg43qwdcf5o97vzyt&num=5d06c0df945"
}
},
"extraData": {
"meta": {
"title": "【オリジナル】「coffee break」/「裕」のイラスト [pixiv]",
"description": "この作品 「coffee break」 は 「オリジナル」「カフェ」 等のタグがつけられた「裕」さんのイラストです。 「」",
"keywords": "オリジナル,カフェ,眼鏡,イヤホン,ぱっつん,艶ぼくろ,眼鏡っ娘,オリジナル5000users入り,イラスト,pixiv,ピクシブ",
"canonical": "https://www.pixiv.net/member_illust.php?mode=medium&illust_id=68188073"
}
},
"noLoginData": {
"breadcrumbs": [
"創作",
"オリジナル"
],
"zengoIdWorks": {
"prev": {
"id": "68188072",
"title": "Winter Soldier_Infinity War ver."
},
"next": {
"id": "68188074",
"title": "【腐】翔太受けまとめ"
}
}
}
}
}

View File

@@ -1,329 +0,0 @@
{
"error": false,
"message": "",
"body": {
"illustId": "47220843",
"illustTitle": "がぶ飲みミルクティー",
"illustComment": "劇中で度々お見かけするお姿がたまらなく愛おしいのです<br />チラリズムでしょうか",
"id": "47220843",
"title": "がぶ飲みミルクティー",
"description": "劇中で度々お見かけするお姿がたまらなく愛おしいのです<br />チラリズムでしょうか",
"illustType": 0,
"createDate": "2014-11-23T06:52:00+00:00",
"uploadDate": "2014-11-23T06:52:00+00:00",
"restrict": 0,
"xRestrict": 1,
"sl": 6,
"urls": {
"mini": "https://i.pximg.net/c/48x48/img-master/img/2014/11/23/15/52/00/47220843_p0_square1200.jpg",
"thumb": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2014/11/23/15/52/00/47220843_p0_square1200.jpg",
"small": "https://i.pximg.net/c/540x540_70/img-master/img/2014/11/23/15/52/00/47220843_p0_master1200.jpg",
"regular": "https://i.pximg.net/img-master/img/2014/11/23/15/52/00/47220843_p0_master1200.jpg",
"original": "https://i.pximg.net/img-original/img/2014/11/23/15/52/00/47220843_p0.jpg"
},
"tags": {
"authorId": "10589144",
"isLocked": false,
"tags": [
{
"tag": "R-18",
"locked": true,
"deletable": false,
"userId": "10589144",
"romaji": null,
"userName": "きっぷる"
},
{
"tag": "SHIROBAKO",
"locked": true,
"deletable": false,
"userId": "10589144",
"romaji": null,
"userName": "きっぷる"
},
{
"tag": "小笠原綸子",
"locked": true,
"deletable": false,
"userId": "10589144",
"romaji": "ogasawararinnko",
"userName": "きっぷる"
},
{
"tag": "ゴスロリ様",
"locked": true,
"deletable": false,
"userId": "10589144",
"romaji": "gosurorisama",
"userName": "きっぷる"
},
{
"tag": "中出し",
"locked": true,
"deletable": false,
"userId": "10589144",
"romaji": "nakadashi",
"translation": {
"en": "creampie"
},
"userName": "きっぷる"
},
{
"tag": "SHIRUPAKO",
"locked": false,
"deletable": false,
"romaji": null
},
{
"tag": "くわえたくしあげ",
"locked": false,
"deletable": false,
"romaji": "kuwaetakushiage",
"translation": {
"en": "shirt held up with the mouth"
}
},
{
"tag": "ずらし挿入",
"locked": false,
"deletable": false,
"romaji": "zurashisounyuu",
"translation": {
"en": "clothed penetration"
}
},
{
"tag": "SHIROBAKO1000users入り",
"locked": false,
"deletable": false,
"romaji": "shirobakoissennyu-za-zuiri"
},
{
"tag": "破れストッキング",
"locked": false,
"deletable": false,
"romaji": "yaburesutokkinngu",
"translation": {
"en": "torn stockings"
}
}
],
"writable": false
},
"storableTags": [
"0xsDLqCEW6",
"OFfMrDY0Rx",
"LUdsS_06nd",
"jOuNGy1xGb",
"MM6RXH_rlN",
"8MSz4vqmhj",
"G3Q8bNP7Gg",
"B_OtVkMSZT",
"0HPK64uuTz",
"jEfylbrgQX"
],
"userId": "10589144",
"userName": "きっぷる",
"userAccount": "kipples",
"userIllusts": {
"43288863": {
"illustId": "43288863",
"illustTitle": "だべの人",
"id": "43288863",
"title": "だべの人",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2014/05/04/13/05/50/43288863_p0_square1200.jpg",
"description": "",
"tags": [
"バトルスピリッツ",
"最強銀河究極ゼロ",
"マレーネ",
"CLIPSTUDIOPAINT"
],
"userId": "10589144",
"userName": "きっぷる",
"width": 648,
"height": 906,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"46440938": {
"illustId": "46440938",
"illustTitle": "二期で会おうぜ、ベイビー",
"id": "46440938",
"title": "二期で会おうぜ、ベイビー",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2014/10/09/10/14/37/46440938_p0_square1200.jpg",
"description": "",
"tags": [
"さばげぶっ!",
"カニ",
"ゲスかわ☆ガールズ",
"CLIPSTUDIOPAINT"
],
"userId": "10589144",
"userName": "きっぷる",
"width": 784,
"height": 1015,
"pageCount": 2,
"isBookmarkable": null,
"bookmarkData": null
},
"47220843": {
"illustId": "47220843",
"illustTitle": "がぶ飲みミルクティー",
"id": "47220843",
"title": "がぶ飲みミルクティー",
"illustType": 0,
"xRestrict": 1,
"restrict": 0,
"sl": 6,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2014/11/23/15/52/00/47220843_p0_square1200.jpg",
"description": "劇中で度々お見かけするお姿がたまらなく愛おしいのです<br />チラリズムでしょうか",
"tags": [
"R-18",
"SHIROBAKO",
"小笠原綸子",
"ゴスロリ様",
"中出し",
"SHIRUPAKO",
"くわえたくしあげ",
"ずらし挿入",
"SHIROBAKO1000users入り",
"破れストッキング"
],
"userId": "10589144",
"userName": "きっぷる",
"width": 777,
"height": 1087,
"pageCount": 2,
"isBookmarkable": true,
"bookmarkData": null
},
"65079114": {
"illustId": "65079114",
"illustTitle": "あってます",
"id": "65079114",
"title": "あってます",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2017/09/22/10/40/35/65079114_p0_square1200.jpg",
"description": "",
"tags": [
"ニーアオートマタ",
"2B",
"9S",
"尻",
"尻神様",
"人類に栄光あれ",
"NieR:Automata",
"2B9S",
"ヨルハ二号B型",
"NieR1000users入り"
],
"userId": "10589144",
"userName": "きっぷる",
"width": 1171,
"height": 1447,
"pageCount": 5,
"isBookmarkable": null,
"bookmarkData": null
}
},
"likeData": false,
"width": 777,
"height": 1087,
"pageCount": 2,
"bookmarkCount": 2242,
"likeCount": 1718,
"commentCount": 12,
"responseCount": 0,
"viewCount": 85669,
"isHowto": false,
"isOriginal": false,
"imageResponseOutData": [],
"imageResponseData": [],
"imageResponseCount": 0,
"pollData": null,
"seriesNavData": null,
"descriptionBoothId": null,
"descriptionYoutubeId": null,
"comicPromotion": null,
"contestBanners": [],
"factoryGoods": {
"integratable": false,
"integrated": false
},
"isBookmarkable": true,
"bookmarkData": null,
"contestData": null,
"zoneConfig": {
"responsive": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=illust_responsive&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4lgebkzsfhdvlrs&num=5d1af27028"
},
"300x250": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=illust_rectangle&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4lgebkzvh1ugg9e&num=5d1af270873"
},
"500x500": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=bigbanner&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4lgebkzxw1ynubq&num=5d1af270762"
},
"header": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=header&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4lgebl00lfis546&num=5d1af270915"
},
"footer": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=footer&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4lgebl02yvrd3wn&num=5d1af270474"
},
"expandedFooter": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=multiple_illust_viewer&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4lgebl05avijuu5&num=5d1af270637"
},
"logo": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=logo_side&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4lgebl07ypkz6k2&num=5d1af270788"
}
},
"extraData": {
"meta": {
"title": "[R-18] 【SHIROBAKO】「がぶ飲みミルクティー」/「きっぷる」のイラスト [pixiv]",
"description": "この作品 「がぶ飲みミルクティー」 は 「R-18」「SHIROBAKO」 等のタグがつけられた「きっぷる」さんのイラストです。 「劇中で度々お見かけするお姿がたまらなく愛おしいのですチラリズムでしょうか」",
"keywords": "R-18,SHIROBAKO,小笠原綸子,ゴスロリ様,中出し,SHIRUPAKO,くわえたくしあげ,ずらし挿入,SHIROBAKO1000users入り,破れストッキング,イラスト,pixiv,ピクシブ",
"canonical": "https://www.pixiv.net/member_illust.php?mode=medium&illust_id=47220843",
"ogp": {
"description": "劇中で度々お見かけするお姿がたまらなく愛おしいのですチラリズムでしょうか",
"image": "https://s.pximg.net/www/images/pixiv_logo.gif?2",
"title": "「がぶ飲みミルクティー」/「きっぷる」[pixiv]",
"type": "article"
},
"twitter": {
"description": "劇中で度々お見かけするお姿がたまらなく愛おしいのです\r\nチラリズムでしょうか",
"image": "https://s.pximg.net/www/images/pixiv_logo.gif?2",
"title": "[R-18]がぶ飲みミルクティー",
"card": "summary"
}
}
},
"noLoginData": {
"breadcrumbs": [
"日常",
"R-18"
],
"zengoIdWorks": {
"prev": {
"id": "47220842",
"title": "優しく 終わりを告げ て"
},
"next": {
"id": "47220846",
"title": "今泉受けまとめ3"
}
}
}
}
}

View File

@@ -1,604 +0,0 @@
{
"error": false,
"message": "",
"body": {
"illustId": "46713544",
"illustTitle": "冬の日ラブラブ",
"illustComment": "ラブラブエッチのらくがき<br /><br />三万フォロワー感謝します~<br /><br />最近忙しいので、自分の時間が少ない・・・",
"id": "46713544",
"title": "冬の日ラブラブ",
"description": "ラブラブエッチのらくがき<br /><br />三万フォロワー感謝します~<br /><br />最近忙しいので、自分の時間が少ない・・・",
"illustType": 1,
"createDate": "2014-10-24T15:06:58+00:00",
"uploadDate": "2014-10-24T15:06:58+00:00",
"restrict": 0,
"xRestrict": 1,
"sl": 6,
"urls": {
"mini": "https://i.pximg.net/c/48x48/img-master/img/2014/10/25/00/06/58/46713544_p0_square1200.jpg",
"thumb": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2014/10/25/00/06/58/46713544_p0_square1200.jpg",
"small": "https://i.pximg.net/c/540x540_70/img-master/img/2014/10/25/00/06/58/46713544_p0_master1200.jpg",
"regular": "https://i.pximg.net/img-master/img/2014/10/25/00/06/58/46713544_p0_master1200.jpg",
"original": "https://i.pximg.net/img-original/img/2014/10/25/00/06/58/46713544_p0.jpg"
},
"tags": {
"authorId": "502217",
"isLocked": false,
"tags": [
{
"tag": "R-18",
"locked": true,
"deletable": false,
"userId": "502217",
"romaji": null,
"userName": "Aza"
},
{
"tag": "落書き",
"locked": true,
"deletable": false,
"userId": "502217",
"romaji": "rakugaki",
"translation": {
"en": "doodle"
},
"userName": "Aza"
},
{
"tag": "おっぱい",
"locked": true,
"deletable": false,
"userId": "502217",
"romaji": "oppai",
"translation": {
"en": "breasts"
},
"userName": "Aza"
},
{
"tag": "オリジナル",
"locked": true,
"deletable": false,
"userId": "502217",
"romaji": "orijinaru",
"translation": {
"en": "original"
},
"userName": "Aza"
},
{
"tag": "パイズリ",
"locked": false,
"deletable": false,
"romaji": "paizuri",
"translation": {
"en": "paizuri"
}
},
{
"tag": "中出し",
"locked": false,
"deletable": false,
"romaji": "nakadashi",
"translation": {
"en": "creampie"
}
},
{
"tag": "だいしゅきホールド",
"locked": false,
"deletable": false,
"romaji": "daishukiho-rudo",
"translation": {
"en": "leg lock"
}
},
{
"tag": "愛のあるセックス",
"locked": false,
"deletable": false,
"romaji": "ainoarusekkusu",
"translation": {
"en": "love-making"
}
},
{
"tag": "黒髪ロング",
"locked": false,
"deletable": false,
"romaji": "kurokamironngu",
"translation": {
"en": "long black hair"
}
},
{
"tag": "オリジナル10000users入り",
"locked": false,
"deletable": false,
"romaji": "orijinaruichimannyu-za-zuiri",
"translation": {
"en": "original 10000+ bookmarks"
}
}
],
"writable": false
},
"storableTags": [
"0xsDLqCEW6",
"KvAGITxIxH",
"Ie2c51_4Sp",
"RTJMXD26Ak",
"AI_aJCDFn0",
"MM6RXH_rlN",
"MmtTUk7gNU",
"LEmyJ-RN72",
"pYlUxeIoeg",
"jH0uD88V6F"
],
"userId": "502217",
"userName": "Aza",
"userAccount": "zaxwu",
"userIllusts": {
"2982154": null,
"3232171": null,
"9683924": null,
"9982638": null,
"10486890": null,
"13450140": null,
"13594508": null,
"15091512": null,
"15584077": null,
"18502761": null,
"19428567": null,
"21337912": null,
"23139081": null,
"26446486": null,
"26602193": null,
"29381152": null,
"30918820": null,
"31543061": null,
"32237888": null,
"32760977": null,
"32797035": null,
"33407004": null,
"34272641": null,
"35659365": {
"illustId": "35659365",
"illustTitle": "Redial",
"id": "35659365",
"title": "Redial",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2013/05/13/00/41/01/35659365_p0_square1200.jpg",
"description": "",
"tags": [
"初音ミク",
"Redial",
"無限ループ",
"ミクダヨー",
"ポリン",
"VOCALOID1000users入り",
"VOCALOID"
],
"userId": "502217",
"userName": "Aza",
"width": 1650,
"height": 1300,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"36344943": {
"illustId": "36344943",
"illustTitle": "バニーちーちゃん",
"id": "36344943",
"title": "バニーちーちゃん",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2013/06/14/10/20/58/36344943_p0_square1200.jpg",
"description": "",
"tags": [
"佐々木千穂",
"バニーガール",
"はたらく魔王さま!",
"おっぱい",
"パンスト",
"ロリ爆乳",
"黒バニー",
"ちーちゃん",
"手袋",
"はたらく魔王さま!500users入り"
],
"userId": "502217",
"userName": "Aza",
"width": 1200,
"height": 1350,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"38288483": {
"illustId": "38288483",
"illustTitle": "ログインゲーム",
"id": "38288483",
"title": "ログインゲーム",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2013/09/04/10/37/02/38288483_p0_square1200.jpg",
"description": "",
"tags": [
"ファイナルファンタジー14",
"ララフェル",
"FF100users入り"
],
"userId": "502217",
"userName": "Aza",
"width": 600,
"height": 1128,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"40513649": {
"illustId": "40513649",
"illustTitle": "クリスマス",
"id": "40513649",
"title": "クリスマス",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2013/12/26/00/13/24/40513649_p0_square1200.jpg",
"description": "",
"tags": [
"オリジナル",
"クリスマス",
"ハイヒール",
"オリジナル100users入り",
"女の子"
],
"userId": "502217",
"userName": "Aza",
"width": 900,
"height": 900,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"40865549": {
"illustId": "40865549",
"illustTitle": "ヲ級",
"id": "40865549",
"title": "ヲ級",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2014/01/10/00/48/39/40865549_p0_square1200.jpg",
"description": "",
"tags": [
"艦これ",
"空母ヲ級",
"落書き",
"深海棲艦",
"艦隊これくしょん",
"艦これ100users入り"
],
"userId": "502217",
"userName": "Aza",
"width": 800,
"height": 1056,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"44463100": {
"illustId": "44463100",
"illustTitle": "ノアちゃん",
"id": "44463100",
"title": "ノアちゃん",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2014/07/03/00/06/00/44463100_p0_square1200.jpg",
"description": "",
"tags": [
"パズドラ",
"ノア",
"パズドラ100users入り",
"おでこ"
],
"userId": "502217",
"userName": "Aza",
"width": 1200,
"height": 1200,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"46713544": {
"illustId": "46713544",
"illustTitle": "冬の日ラブラブ",
"id": "46713544",
"title": "冬の日ラブラブ",
"illustType": 1,
"xRestrict": 1,
"restrict": 0,
"sl": 6,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2014/10/25/00/06/58/46713544_p0_square1200.jpg",
"description": "ラブラブエッチのらくがき<br /><br />三万フォロワー感謝します~<br /><br />最近忙しいので、自分の時間が少ない・・・",
"tags": [
"R-18",
"落書き",
"おっぱい",
"オリジナル",
"パイズリ",
"中出し",
"だいしゅきホールド",
"愛のあるセックス",
"黒髪ロング",
"オリジナル10000users入り"
],
"userId": "502217",
"userName": "Aza",
"width": 800,
"height": 800,
"pageCount": 20,
"isBookmarkable": true,
"bookmarkData": null
},
"49623591": {
"illustId": "49623591",
"illustTitle": "らくがきまとめ4",
"id": "49623591",
"title": "らくがきまとめ4",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2015/04/03/00/15/53/49623591_p0_square1200.jpg",
"description": "",
"tags": [
"落書き",
"極上の尻",
"パズドラ",
"ぴっちりスーツ",
"魔性の潮",
"加賀",
"艦これ100users入り",
"潮(艦隊これくしょん)",
"100users入り",
"バニーガール"
],
"userId": "502217",
"userName": "Aza",
"width": 1000,
"height": 1080,
"pageCount": 38,
"isBookmarkable": null,
"bookmarkData": null
},
"51747015": {
"illustId": "51747015",
"illustTitle": "バニー潮ちゃん",
"id": "51747015",
"title": "バニー潮ちゃん",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2015/08/03/21/22/52/51747015_p0_square1200.jpg",
"description": "",
"tags": [
"艦これ",
"バニーガール",
"バニーの日",
"潮っぱい",
"魔性の潮",
"まったく、駆逐艦は最高だぜ!!",
"艦々バニー",
"潮(艦隊これくしょん)",
"艦隊これくしょん",
"艦これ1000users入り"
],
"userId": "502217",
"userName": "Aza",
"width": 1000,
"height": 1421,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"52206867": {
"illustId": "52206867",
"illustTitle": "水着おっぱいまとめ",
"id": "52206867",
"title": "水着おっぱいまとめ",
"illustType": 1,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2015/08/27/00/55/49/52206867_p0_square1200.jpg",
"description": "",
"tags": [
"おっぱい",
"水着",
"落書き",
"巨乳",
"挟まれたい谷間",
"デカァァァァァいッ説明不要!!",
"愛宕/パチュリー/千斗いすず/柏崎星奈/丹生谷森夏/ハトホル",
"千斗いすず"
],
"userId": "502217",
"userName": "Aza",
"width": 500,
"height": 875,
"pageCount": 7,
"isBookmarkable": null,
"bookmarkData": null
},
"52584590": {
"illustId": "52584590",
"illustTitle": "楓ちゃん",
"id": "52584590",
"title": "楓ちゃん",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2015/09/18/23/35/41/52584590_p0_square1200.jpg",
"description": "",
"tags": [
"アイドルマスターシンデレラガールズ",
"オッドアイ",
"高垣楓",
"アイマス1000users入り"
],
"userId": "502217",
"userName": "Aza",
"width": 900,
"height": 900,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"64877227": {
"illustId": "64877227",
"illustTitle": "マシュ",
"id": "64877227",
"title": "マシュ",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2017/09/10/00/10/03/64877227_p0_square1200.jpg",
"description": "",
"tags": [
"マシュ",
"Fate/GrandOrder",
"素晴らしすぎる",
"極上の乳",
"マシュ・キリエライト",
"Fate/GO1000users入り",
"濡れ透け",
"マシュマロおっぱい"
],
"userId": "502217",
"userName": "Aza",
"width": 1000,
"height": 1000,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"66698671": {
"illustId": "66698671",
"illustTitle": "モテそうですよね",
"id": "66698671",
"title": "モテそうですよね",
"illustType": 0,
"xRestrict": 0,
"restrict": 0,
"sl": 2,
"url": "https://i.pximg.net/c/250x250_80_a2/img-master/img/2018/01/08/00/47/32/66698671_p0_square1200.jpg",
"description": "",
"tags": [
"輝夜月",
"バーチャルYouTuber",
"魅惑の谷間",
"バーチャルYouTuber1000users入り"
],
"userId": "502217",
"userName": "Aza",
"width": 1200,
"height": 1200,
"pageCount": 1,
"isBookmarkable": null,
"bookmarkData": null
},
"69620476": null
},
"likeData": false,
"width": 800,
"height": 800,
"pageCount": 20,
"bookmarkCount": 16448,
"likeCount": 13048,
"commentCount": 70,
"responseCount": 0,
"viewCount": 483175,
"isHowto": false,
"isOriginal": true,
"imageResponseOutData": [],
"imageResponseData": [],
"imageResponseCount": 0,
"pollData": null,
"seriesNavData": null,
"descriptionBoothId": null,
"descriptionYoutubeId": null,
"comicPromotion": null,
"contestBanners": [],
"factoryGoods": {
"integratable": false,
"integrated": false
},
"isBookmarkable": true,
"bookmarkData": null,
"contestData": null,
"zoneConfig": {
"responsive": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=illust_responsive&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4dukaxjl9lcz20o&num=5d1245e1507"
},
"300x250": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=illust_rectangle&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4dukaxjo8fldij4&num=5d1245e15"
},
"500x500": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=bigbanner&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4dukaxjqltfp2la&num=5d1245e182"
},
"header": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=header&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4dukaxjsv9fca5h&num=5d1245e1969"
},
"footer": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=footer&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4dukaxjv5vqfo0g&num=5d1245e1914"
},
"expandedFooter": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=multiple_illust_viewer&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4dukaxjxd4y5zlv&num=5d1245e1125"
},
"logo": {
"url": "https://pixon.ads-pixiv.net/show?zone_id=logo_side&format=js&s=0&up=0&ng=g&l=ja&uri=%2Fajax%2Fillust%2F_PARAM_&is_spa=1&ab_test_digits_first=5&ab_test_digits_second=5&Yuid=MjgDVlY&suid=Pg4dukaxjzmhr6fid&num=5d1245e1989"
}
},
"extraData": {
"meta": {
"title": "[R-18] 【落書き】「冬の日ラブラブ」/「Aza」のマンガ [pixiv]",
"description": "この作品 「冬の日ラブラブ」 は 「R-18」「落書き」 等のタグがつけられた「Aza」さんの漫画です。 「ラブラブエッチのらくがき三万フォロワー感謝します~最近忙しいので、自分の時間が少ない・・・」",
"keywords": "R-18,落書き,おっぱい,オリジナル,パイズリ,中出し,だいしゅきホールド,愛のあるセックス,黒髪ロング,オリジナル10000users入り,イラスト,pixiv,ピクシブ",
"canonical": "https://www.pixiv.net/member_illust.php?mode=medium&illust_id=46713544"
}
},
"noLoginData": {
"breadcrumbs": [
"日常",
"R-18"
],
"zengoIdWorks": {
"prev": {
"id": "46713543",
"title": "ゆい様"
},
"next": {
"id": "46713545",
"title": "木吉"
}
}
}
}
}