アクラス事件

何故か2018年の古い記事にアクセスがちょくちょくある。
「同人誌ならグレーだから訴えられない」「駿河屋で買って自社で裁断」 被害続く“違法同人誌サイト”、法人運営の悪質手口を関係者に聞いた(http://hytool.org/archives/11120)

調べると、ねとらぼに続報記事が上がってた影響。
二次創作でも違法アップロード駄目――“違法同人誌サイト”運営会社に219万円の賠償命令 過去の取材には「存じ上げないサイトですね」(https://nlab.itmedia.co.jp/nl/articles/2002/14/news137.html)

サイト閉鎖で収束したのかと思ってたけど、裁判してて、2020年の10月に判決出てた。
事件は企業名を冠して『アトラス事件』と呼ばれているらしい。

判決は妥当だなぁと思ったけど、争点が面白げ。
被告の主張は「原告の2次創作BL本について、そもそも著作権違反+わいせつ図画の『違法な物』であるため、裁判起こすのがおかしい(権利濫用)」みたいな主張。
それに対して裁判所は「著作権違反でもわいせつでもない」という意外な判決。
具体的な作品は見てないけど、2次創作が違法じゃないのは本当に?って感じ。
まぁ本件については結局「たとえ、著作権違反でもわいせつでも権利濫用には当たらない」って判決では有るのだけど。

あと、損害賠償の219万円は、「サイトの該当ページ(おそらく)のPV数」×「同人誌の利益額」×「10%」らしい。
仮に1冊の利益が1000円とすると、2万PVくらいか。
「1PV=100円」の損害賠償。
まぁ損害賠償としては妥当な気がする。ただひろゆきだか誰だかが言ってたけど、抑止としては弱い金額だよなぁ。
ねとらぼによると当時は月あたり2000~3000万円稼いでたらしいし。

裁判例結果詳細(https://www.ip.courts.go.jp/app/hanrei_jp/detail?id=5431)
知財高裁でBL同人作品の無断コピーは著作権侵害という当たり前の判決(https://news.yahoo.co.jp/byline/kuriharakiyoshi/20201008-00201963/)

ネットの行為で訴えられたけど、日本の裁判制度がクソ過ぎる

ネットの行為で訴えられたけど、日本の裁判制度がクソ過ぎる(https://anond.hatelabo.jp/20201229162120)

はてなブログ記事。
興味深かったのでメモ。

日本の裁判制度は訴え得らしい。
合法であっても裁判で反論するのは大変そう。

著作権なぁ。
このサイトでも漫画のコマを無断でアップロードしたりしてるけど、厳密に言えば違法。
訴訟来たら引用とかで争う余地はあっても、現実的には30万円なら示談だなぁ。

MMD触ってみた

エロ3DCGいいなぁと思って、MMD少し触ってみた。
思ったより難しくは無いけど、思ってたより奥深そう。

触ったと言っても、配布モデルに、配布モーションと、配布カメラを適用して再生しただけだけど。
まぁそれだけでも多少楽しくはあった。

触った印象としては、モーション作るのがクソほどめんどくさそう。身体にセンサーつけて取り込む方が楽そうまである。

エロMMDは配布されてるエロモーションも多いので割と手軽には作れそう。
ただ音声つけようとすると、苦労しそう。
そういえば、ダンス踊らす用のソフトだったと後から思い返す。

PHPでwebスクレイピング

前記事:pythonでwebスクレイピング

pythonに挫折した僕はPHPでスクレイピングする。
別にそこまでMGSの情報が欲しいわけでもなかったのだけど。

使い慣れた「simple_html_dom」使う。処理が重たい以外の欠点がない。
というか処理が重いからPython使ってみたかったところもあるが。

ともかく、クッキー渡したことないのでそこをやる。
スクレイピングをしてみよう 認証・リダイレクト回避編(http://www.lesson5.info/?p=203)を参考に進める。

内容は理解してないけど、書いてある通りやって解決↓

<?php
include __DIR__."/function/simple_html_dom.php";

$item_url = 'https://www.mgstage.com/search/cSearch.php?search_word=&sort=new&list_cnt=30&range=latest&type=top';

$opts = array(
'http'=>array(
'method' => 'GET',
'header' => 
"Referer: https://www.mgstage.com\r\n". // リファラーをセット
"Cookie: adc=1\r\n") );// 認証のクッキーの名前が「adc」で値が「1」
$context = stream_context_create($opts);
$html = file_get_html($item_url, false, $context);

foreach ($html->find('div') as $entry) {
echo $entry;
}
?>

あとはなんやかんやしてXMLに出力。
レンサバのCRON設定で1日1日くらい更新させておく。
エクセルとかに出力して分析するとかならPythonが便利そうではあるけど、レンサバでただただ情報を自動更新させときたいならPHPの方が良い気がする。
というかレンサバ=ウェブサイト=PHPの相性が良い。

pythonでwebスクレイピング

pythonでwebスクレイピングする。
最終目標はMGSの新着動画ページ(https://www.mgstage.com/search/cSearch.php?search_word=&sort=new&list_cnt=30&range=latest&type=top)をスクレイピングしようと思う。

まずスクレイピングの基礎から。

python3でwebスクレイピング(Beautiful Soup)(https://qiita.com/mtskhs/items/edf7dbba9b0b0246ef8f)
を参考にこのサイトをスクレイピングしてみる。

 
import requests
from bs4 import BeautifulSoup

url ="http://hytool.org/"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'lxml')

print(soup)

これで、このサイトの「doctype html」から「/html」までの全てのソースコートが取得できる。

find~を指定すると取得する値をタグ等で指定できる。

 
# タグで取得
print (soup.find_all("h1"))
print (soup.find_all("a"))
print (soup.find_all("img"))

クッションページを回避してスクレイピング

MGSは年齢認証のクッションページがあるため、上記のコードではクッションページのスクレイピングをしてしまう。

Pythonで年齢認証などのクッションページを回避してスクレイピングしたい(https://qiita.com/aizakku_nidaa/items/71829aa111be68843b8b)
を参考にやってみる。
どうやらクッキーを渡せば良いらしい。

クッキーは【Chrome】Cookieを確認する方法(https://coeure.co.jp/blog/pc_support/chrome_cookie_180208)で調べる。
クッキー消したりして年齢認証のクッキーを特定↓

参考サイトと同じクッキーだった。
書いた人もMGSのスクレイピングしてたのだろうか。

 
import requests
from bs4 import BeautifulSoup

url = 'https://www.mgstage.com/search/cSearch.php?search_word=&sort=new&list_cnt=30&range=latest&type=top'

cookie = {'adc': '1'}  # 名前:コンテンツ

soup = BeautifulSoup(requests.get(url, cookies=cookie).content, 'lxml')

print(soup)

xmlに書き込む

取得できたのでxmlにする。
①BeautifulSoupで値を取得
②ループ処理
③XMLファイルへの書き込み
するあと細々とした調整。
課題?
・タイムスタンプがタイムゾーン含んだ形式にしたい
・XML用エスケープをreplaceで処理したけど、他のやり方がありそうな気がする。
・XMLの作成が強引な気がする。JSONのデコード方法はググって出たけど、XMLはないのか?

 
import requests
from bs4 import BeautifulSoup
import datetime
dt_now = datetime.datetime.now()
print(dt_now)

url = 'https://www.mgstage.com/search/cSearch.php?search_word=&sort=new&list_cnt=30&range=latest&type=top'

cookie = {'adc':'1'} #名前:コンテンツ

soup = BeautifulSoup(requests.get(url, cookies=cookie).content, 'lxml')

rank_list = soup.find('div', class_="rank_list") #soupからrank_listのみ指定
rank_list_li = rank_list.find_all('li') #rank_listから全てのliを指定
item_xml = '' #not definedエラー避け

for oisii_soup in rank_list_li: #for 変数名 in 繰り返し条件:→「rank_list_li」の数だけ繰り返し処理

	title = oisii_soup.find('p', class_="title lineclamp") #タイトル取得
	title = title.get_text() #テキストのみ
	title = title.replace('&', '&')#XML用エスケープ
	print(title)
	
	img = oisii_soup.h5.img['src'] #画像URL取得
	print(img)

	href = oisii_soup.h5.a['href'] #リンクURL取得
	link = "https://www.mgstage.com/"+href #パス追加
	print(link)

	item_xml_temp = "		<item>\n		<title>"+title+"</title>\n		<link>"+link+"</link>\n		<pubDate>2020-11-22T12:07:00+09:00</pubDate>\n		<description><![CDATA[<a href='"+link+"'><img src='"+img+"'></a>]]></description>\n		</item>\n\n"
	item_xml = item_xml + item_xml_temp
	
before_xml = "<?xml version='1.0' encoding='UTF-8' ?>\n<rss version='2.0'>\n<channel>\n	<title>MGS新着動画のRSSフィード</title>\n	<link>https://www.mgstage.com</link>\n	<description>MGS新着動画のRSSフィード</description>\n	<lastBuildDate>2020-11-22T12:36:02+09:00</lastBuildDate>\n	<language>ja</language>\n"
after_xml = '</channel>\n</rss>'
merge_xml = before_xml+item_xml+after_xml

f = open('test.xml','w') #出力(w=上書き/a=追記)
f.write(merge_xml)
f.close()

レンタルサーバーで動かす

……挫折。
スターサーバーで動かそうとしたけど、上手く行かなかった。

 
#!/usr/bin/python3.6
print ('Content-Type: text/html\n\n')
print ("Hello world!")

.pyのままだとコードがそのまま表示されて、
拡張子を.cgiに変えると、500エラー。

そもそもレンサバ上にPythonの実行環境があるのかないのかよくわからん。Python3.6.xが入ってて、コマンドパスが「/usr/bin/python3.6」らしい。できそうな気はするのだけど……なぜ動かない?
「putty」でSSL接続したらローカルのコマンドプロンプトみたいな感じで動くっぽい?みたいな情報で試してみたけど、タイムアウトで接続できなかった。

PHPみたいにCRONで定期作動させようと思ってたけど、よくわからん。というかスクレイピングしたあとの情報を再度ネットに返す使い方は一般的ではないのか?イマイチ情報が少ない気がする。
やはりWEBサイトに出力するならPHPの方が使いやすいか。

→続き:PHPでwebスクレイピング

SSL(https)サイトと非SSL(http)サイト

最近気づいたのだけど、httpsサイトでhttpサイトの画像(リンク)が表示されない。
調べてみると最新版のChromeの仕様らしい。
試しにEdgeで開くと問題なく表示された。

警告マークもそうだけど、Chromeはなぜそこまでhttpサイトを嫌うのか。

Google Data Studio

Google Data Studio』初めて使ってみた。
感動ものの有能ツール。さすGoogle。

きっかけは、二次エロ変態紳士(https://hentaishinsi.com/about/)がデータスタジオでアクセスレポートを公開してるのを見つけて。→『二次エロ変態紳士(公開レポート)

「Google Data Studio」はいわゆるBI(Business Intelligence:ビジネスインテリジェンス)ツール。
他のBIツールと比べての特徴は、グーグルのサービス(スプレッドシート、アナリティクス、Google 広告、Google BigQueryなど)のデータを、簡単に結び付けることができる。

いろいろ使い方はあるけど、個人的には「Google Analytics」のデータを抜粋して一般公開できるのが良いなと思う。

で、感動の機能が、テンプレートが共有できる点。すごい。
『二次エロ変態紳士(公開レポート)』のデータソースを自分のサイトのAnalyticsに差し替えると、同じテンプレートデータが作成できる。

アンテナサイトのアクセスランキングに利用したい気持ちがあるけど、GAのリファラー機能はその使い方には向かなそう。
ちょっとやりたくて試行錯誤してみたけど、下記が問題点。
・リファラーがURL表示される
・livedoorブログが同一集計される
・OUT数が集計できない。
置換とかイベント処理とかカスタマイズしたらいけそうではあるけど、手間がかかりすぎる。
誰かそんなテンプレートを作って欲しい。

WordPressメンテナンス

「WordPress」のバージョンアップしようとしたらPHPのバージョン上げないとできないと言われる。

現在は「PHP7」が推奨らしい。時の流れを感じる。
とりあえずバージョン上げたが、動かないプログラムとかあって焦る。一部は旧バージョンで保留。いつか修正しないとな……

久々にネットオウル管理画面に行ったらレンサバのプランが名称変更されてた。前は「ファイヤーバード」とか「クローバー」とかだったけど、「スタンダード」とか「プレミアム」のわかりやすい名前になってる。前の変な名前も好きだったけど。

あと最近、FC2レンサバを新たに契約したのだけど、SSL化が簡単にできるようになってて嬉しい。調べると他のレンサバでも最近は証明書が無料かつ更新も自動でやってくれるのがスタンダードっぽい。
ただし、FC2レンサバの古い契約の分は非対応?っぽい。悲しみ。

あとこのサイトのWPテーマ変える。
自作の使ってたけど、似たような雰囲気の良さげなやつ「sparkling」

アダルトアンテナサイト巡回【2019年】

毎年恒例な?アダルトアンテナサイト巡回。
更新→アダルトアンテナサイト【まとめ】(http://hytool.org/archives/4198)

「similarweb」も久々に開いたけど、平均滞在時間とか直帰率が見れるようになっててすごい。平均滞在時間はアンテナサイトは3分くらいが平均。エロタレストが10分あって驚く。アーカイブとして利用されてるのだろうか?

新規アンテナサイトをざっと検索したけど、なさげ。
まぁリーチサイトも違法化されるっぽいし、敢えてアダルトアンテナを新規に始めようとは思わないだろうぜ。

巡回すると閉鎖したサイトが結構多い。
「エロ漫画ガイド(http://eromanga-guide.info/)」「エロステ!(http://eromanstation.com/)」「BL同人誌3Xjp(http://bl-doujin.xxxjp.net/)」「無料動画navi(http://ero-antena.net/)」「モンブラ(http://monbra.jp/)」「エロ同人あんてな(http://animedoujin.com/)」「エロコミボックス(http://erocbox.net/)」「こまにゅう(http://comanews.com/)」「にじてな(http://niji-antenna.com/)」「オタク男子アンテナ(http://otadantenna.com/)」がサイト閉鎖(更新なし)。

「likevideo.jp(http://adult.likevideo.jp/)」が「もぶアンテナ(http://mobantenna.com)」に転身。
たぶん2chアンテナ運営状況(2019年1月)【Webエンジニアがアフィリエイトで稼ぐ】(https://webserv.hatenablog.com/entry/2019/01/26/124844)の記事のサイト。

しかしも2chアンテナは難しいよなー。昔やって挫折した経験がある。個人的な2chアンテナの挫折原因は、
・競合サイトがクソほど多い。
・アダルトサイトほどアクセストレードが活発でない。
・スマホアプリの時代
自分でもサイト作っておきながら一番良く見るのが「SmartNews」だしなぁ。さもありなん。

記事では、

今年中には最低10万PV/日は達成したい。
2chアンテナの運営状況も今年は書いていく予定です。

らしいので、良い情報があればぜひ参考にしたい。

ついでにエロサイトの運営ブログチェック
さよならダメにんげん(http://www.damebito.com/)
Webエンジニアがアフィリエイトで稼ぐ(http://webserv.hatenablog.com/)
副業アダルトアフィリエイトで稼ぐブログ(http://adult.s-biz.net/)
弱小アフィカスの末路(http://zennmaiq.com/)
気ままに小遣い稼ぎ(https://kodukainikki.com/)
アダルトアフィリエイト初心者の実践と感想(http://adultafiri.net/)
Neememo(https://neememo.com/)
【初心者だから!今更アフィリエイトなんて時代遅れ?】そんなことはない!アフィリエイトの始め方ブログ(http://www.xn--w8jzc1es661ascav09g.com/)
アダルトアフィリエイト実践記~初心者ニートでも稼げるか?~(https://affili-adult.net/)
ノマド憧れ(https://log-5.com/)

新規サイトはポツポツくらい。最近のアフィリエイトはアダルトよりYouTubeが流行りだろうか。

追記

そういえば、このサイトで一番アクセスの多い記事がアダルトアンテナサイト【まとめ】(http://hytool.org/archives/4198)なのだけど、DMCAで検索から除外されてる。DMCA (Copyright) Complaint to Google(https://www.lumendatabase.org/notices/16363974)
「言いがかりだ!」みたいな異議申し立てを送ったけど「もっと根拠よこせや」みたいな返信返ってきて諦める。
まぁ確かに記事内容は「違法サイトのリーチサイトのリーチサイト」だけど、そんなこと言われちゃ何もリンクできねーよってなる。改正予定の日本の著作権法ではリーチサイトの定義がどうなるのか楽しみ。そういえば米国法的にはリーチサイトってどんな扱いになってるんだろうか。
あと、リーチサイトではないけど、欧州法での抜粋転載使用料のニュースが面白げ。出た、Google最終兵器。EU著作権法改正後の真っ白な検索結果がリーク【ギズモード】(https://www.gizmodo.jp/2019/01/google-eu-white-serp.html)

ワードプレスとかAmazon APIとか

いちばんやさしいWordPressの教本第3版 人気講師が教える本格Webサイトの作り方 (「いちばんやさしい教本」)

ワードプレス

ワードプレスを更新したらエディタが変わってた。
個人的に気になる変化点は、
・改行がBRタグでなく、Pタグになる。
・ドラッグドロップで 画像リンクが挿入できる。
・公開前チェック機能(OFFにできる。)

 

ちなみに旧エディタは2021年まで使えるらしい。(プラグインで)
ちょっと使ったけど、旧エディタにする。
なれたらそうでもないのだろうけど、旧Verの方が好き。

 

あとテキストエディタで空白行を改行した場合にBR的な改行が反映されなくなる。やめてほしい。
しかも過去記事まで影響するとかひどい。行間ギチギチできもい。
テキストエディタで書いたあと、ビジュアルエディタで改行していくという謎作業をしている。

Amazon API

このブログ用に「Amazon API」使って商品検索するツールを使ったけど、去年くらいから表示できなくなる。
なんか規約が変わったらしい。んで代わりに「Amakuri」使ってたけどそれもサービス終了してしまう。かなしみ。