|
おはようございます。
Yahoo!ブログのこのインターフェースで記事の投稿・編集ができるのがあと3日しかないという現実を直視できないけもにゃです。8月31日で投稿は終了でございます。
気がつけばもう(DKHM Revival時代だけでも)丸6年近くYahoo!ブログさんと生きてきたので(そういえば明日2019/8/29は当ブログの開設6周年記念日ですね…)、これ以外のインターフェースのブログサービスと生きていけるのか、という心配が頭をもたげている今日この頃です。おじいちゃんなので。
移行先になりうるライブドアブログやらSeesaaブログやらアメンボブログ(ちょっと名前に懐かしさを感じつつある)やらはてなブログやらを色々見てはいるのですが、どいつもこいつも小奇麗すぎておいちゃんはどうも拒絶反応を示しちゃうのでございます。
特にはてなブログ。何なんだお前そのいかにも「自分めっちゃ意識高いですけど〜?」みたいな感じのインターフェースは。あまりにも意識が高すぎて吐き気がしてくるぞ。
ぼくみたいな2000年代初頭のギトギトな配色の背景に安っちろいmidi音源のBGMが流れるみたいな濃っゆぅ〜い個人サイトで育った人間はそういうの食べても何の味も感じられないんだぞオイ。もっと背脂を足してくれ。
…というわけで、以前からやるやると申しつつ結局やらずにいた「Yahoo!ブログの2万字天井に関する検証」について、投稿終了3日前になって慌てて検証を行った結果をお伝えしたいと思います。夏休みの宿題。
この仕様を知ったところであと3日しかないし誰が得するの?なんだこの自己満検証
Yahoo!ブログというサービスは何だかんだ明かされていない仕様が多く(人気度の☆の付き方とか)、1記事あたりの上限文字数もその一つでございます。
普通にこのブログで"ブログを書いている人"ならほぼほぼ遭遇しない現象なのですが("ブログじゃないもの"を書いているから遭遇するんだけど)、
1記事あたりの文字数が17000字〜18000字あたりに差し掛かると
このように「記事の投稿に失敗しました。しばらくしてから投稿してください。」というエラーメッセージを吐いて投稿できなくなる現象がございます。
「しばらくしてから投稿してください」と書かれているものの、しばらく待ったところで文字数を減らさない限り永久に投稿はできません。これに気付けないと2万字近く書き連ねた駄文をロストしてしまう可能性があります。
この現象が発生した際に記事に書き込んでいた文字数は大体15000字〜17000字程度だったのですが(もう4,5回は遭遇してるから…)、記事中に貼りつけられた画像のリンクやら見えないHTMLタグやらが大量に使われていることを鑑みると、恐らく2万字くらいに(画像のリンクやらHTMLタグやらを含めた)文字数の天井があって、それを超えるとこのエラーを吐くような仕様になっているんじゃないかな…?と仮説を立て、正確な数字は分からないけどとりあえず「2万字天井」と呼んでいたワケでございます。
それでは実際に調べてみましょう。
まず、文字数カウンタを利用して、ちょうど2万字の文字データ(改行一切なし)を用意しました。
「あ」だけ2万字でも良いような気もするのですが、スパムと間違えられても嫌なので 「あ」×100→「い」×100→…→「こ」×100 の1000文字を20ループさせて2万字にしました。
とりあえず2万字ジャスト(改行なし)の記事をしたため、投稿ボタンを押してみると…
普通に投稿できました。アレ?
試しにここに1文字足してみましょう。
ちょっと待て そのダイアログ初めて見たぞオイ 投稿終了3日前、サービス終了数か月前にして初めて見るダイアログでございます。
そういう大切なことは「よくある質問」とか目立つところにちゃんと書いておいてほしかった…
(普通の人はブログの1記事に2万字も書かないからそんな大切じゃないです…)
公式の見解では、「内容は、最大20000文字です。」だそうです。
で、このダイアログさん、どうも「改行やら画像やらを抜きにした素の文字数」が2万字をオーバーしている時にしか発生しないっぽいです。
その証拠に、試しに「19999文字+改行2つ」で投稿を試みると、
先程のダイアログが発生せず、その後にエラー画面が出てきます。
ページ側のプログラムでは、「改行やら画像やらを抜きにした素の文字数」が2万字を超えなければ問題なく通すようになっているようです。
ところがサーバー側は「改行や画像を含めた全ての文字数」が2万字を超えた場合にはエラーを吐いて弾く作りになっているようで。
しかも、サーバー側の処理を作った人は恐らく「2万字を超える文字数はページ側で弾かれるためサーバーに送られてくることはない」、と判断(誤解)したため、サーバー側で2万字を超えて弾かれちゃった場合のエラーメッセージも用意されていないと。
だから、とりあえず汎用のエラーメッセージとして「しばらくしてから投稿してください」が出てくると。
文系オタクが推測した限りでは多分こういうことなんじゃないかなあと思います。たぶん。
自分の例でいくと、素の文字数は17000字程度だったから「最大20000文字です」のダイアログが出ずに通過してしまったものの、改行や画像のURLなどの「見えない部分」が3000文字以上あったため、結果的に2万字を超えてサーバー側で弾かれてしまったということだと思われます。たぶん。
あの、これで合ってますかやふぅさん…?
ちなみに、文字サイズやボールド、斜体、ハイパーリンクなどの各種オプションを試してみましたが、こちらは
文字数にはカウントされてないっぽいです。(通常のオプションなし文字と同様にカウントされます)
2万字+その中にハイパーリンクいくつか+文字サイズいじいじとかでも問題なく投稿できました。
画像について検証してみましょう。
文字数を19999字にして、とりあえずデスクトップにあった適当な画像を貼りつけて投稿を押してみます。
まあ引っかかります。そりゃ1文字扱いになるわきゃないよね。
で、暫く文字を足したり削ったりして「ギリギリ大丈夫なライン」を調べてみたところ… 「19883文字+画像」でギリギリ投稿できることが分かりました。19884文字ではダメ。
ということは、この画像は差し引き117文字分の「見えない文字数」を消費していることになります。
…本当かな?
試しに、ページのソースを見てみましょう。
※一部隠れているけど気にしないで
要素を調査してみると、ソース上で画像のリンクを見つけることができました。
で、試しに(左右のHTMLタグは気にせずに)画像のURLだけをコピーしてカウントしてみると…
118文字。さっきの19883文字と足して20001字になります。
1字あふれてる分は計測ミスか何かだと思います。たぶん…
どうやらHTMLタグの類(ハイパーリンクも含め)はカウントせず、画像(のリンク)と改行は「見えない文字数」としてカウントされるようです。
このURLにはYahoo!IDが含まれるため人によって文字数は異なりますが、弊ブログの場合はこの文字数で固定だと思われます。たぶん。
…ってことは、弊ブログの場合は理論上1記事に169枚まで画像が貼れる…はず。理論上はね。
【余談】
この後、もしかして「画像を1枚貼る毎にサーバー側で受け付けられる天井文字数が1文字増える」みたいなバグなんじゃね?とか思ったため画像をもう1枚追加してみたところ、何故か19763文字まで減らさないと受け付けなくなりました。意味が分かりません。(さっきの理屈で行くと20000-118*2=19764文字までイケるはず…?)
追加した画像を削除し、再び19883文字+画像1枚にしようとするとエラー。さっきはコレでイケたのになんで…?
どうも画像を一度貼ると、その後画像を削除してもURLは残ったままになっちゃうっぽいです。
画像を何度も貼ったり剥がしたりしてる人は、コレで文字数を無駄に消費しちゃってるケースもあるのかも。
そろそろまとめに入りましょう。
今回の検証で見えてきたYahoo!ブログの仕様はこんな感じでございます。
①:公式の見解は「内容は、最大20000文字です。」
②:改行や画像を除いた「素の文字数」が20000字を超えると、ページ側で「内容は、最大20000文字です。」のダイアログが発生し、サーバーに文章を送れない(改行や画像を除いて20000字を超えていなければ発生しない)
③:素の文字数に改行や画像などの「見えない文字」をひっくるめた文字数が20000字を超えた文章をサーバーが受け取った場合、サーバー側で弾かれて「記事の投稿に失敗しました。しばらくしてから投稿してください。」のエラーが発生
→したがって、素の文字数が20000字を超えておらず、「見えない文字」を含めた文字数が20000字を超えた場合に「しばらくしてから投稿してください」エラーを目にすることになる!
④:一度貼った画像は、画像を削除してもURLが残り「見えない文字数」として文字数上限を圧迫する
…ということになります。
あの、やふぅさんこれで合ってましたか…?ここ見てたら答え教えてください…(本日2回目)
以上、これを知ったところであと3日間しか役に立たない検証でした。たぶん世界で一番役に立たない。
というかまず普通の人はこのブログでわざわざ2万字も書かないの。下書き機能もないし。
…でもね、ここまでちゃんと仕様を知りたいと思うくらいにはぼくYahoo!ブログさん大好きだったんだよ…サービス終わっちゃうの嫌だよぉ…
|

- >
- コンピュータとインターネット
- >
- インターネット
- >
- ネットサービス




