なろう分析記録

『小説家になろう』をふくめ『ネット小説投稿サイト』を分析する。コード置き場,主にPython,javascript,たまに創作。

Chrome機能拡張を作ってみて分かったことメモ

Chrome機能拡張で「browser_action」を作った時のメモ(2019.04)

popup.htmlと.jsを用いたシンプルなブラウザアクションボタンを作った時の記録です。
なお1日で作ってその日のうちにリリース。翌日にFireFoxに移植という感じでスピーディーに進めることができました。

karupoimou.hatenablog.com

popup.htmlが開かられて時点で作動するjs関数

window.onload = function ()
{
  //ここの中身が実行される。
};

開いているタブのURLを取得

chrome.tabs.getSelected(null, function(tab)
{
   site_url = tab.url;
});

こうすることで、tabのURLが取得できる。
なお「tabs.getSelected」はFireFoxでは使えないので互換性に注意が必要です。
developer.mozilla.org

デバック用の表示

console.log('test!!!!');

色々な所にバック用の関数をいれておくと便利。
どこまで動いているのかいないのかが分かる。問題の切り分けにつながる。

「manifest.json」の例

{
    "manifest_version": 2,
    "name": "はじめての機能拡張",
    "description": "はじめての機能拡張!",
    "version": "1.0",
    "author":"なまえ",

    "permissions": ["tabs"],
    "browser_action": {
        "default_icon": "icons/icon19.png",
        "default_title": "はじめての機能拡張"",
        "default_popup": "popup.html"
    },
    "icons": {
    "16": "icons/icon16.png",
    "38": "icons/icon38.png",
    "48": "icons/icon48.png",
    "128": "icons/icon128.png"
    }
}

色々なサイトで色々書いてあるけど、とりえあえず上記の内容があれば最低限動く。
パーミッションに tabs を使っているのはタブのurlを得る権限のためです。

popup.htmlに書く jquery  はオンラインURLを貼ってもダメ

<!DOCTYPE html>
<html lang="ja">
  <head>
      <meta charset="utf-8">
      <link rel="stylesheet" href="style.css">
      <script type="text/javascript" src="jquery-3.4.0.min.js"></script>
      <script type="text/javascript" charset="utf-8" src="main.js"></script>
  </head>
      <body style="min-width:250px">
            <input type="button" id="my_btn" value="ボタン名" /><br>
      </body>
</html>

最初「htttp~~jquery-3.4.0.min.js」というありがちな方法を使ってみましたが、jquery が動かないというトラブルに会いました。
上記コードで使っている「jquery-3.4.0.min.js」はサイトに行って、ダウンロードし、プラグインのフォルダ内において置かなけれならない様です。
jquerychrome機能拡張で使えないわけでは決して無く、ダウンロードしておけば普通に使えます。なおFireFoxでも使えるのでやはり便利です。

f:id:karupoimou:20190419221753p:plain
jqueryのファイルを置く場所

DLの方法とか

webkikaku.co.jp

DL出来るサイト

jquery.com

style.cssの例

body {
font-family: 'Yu Gothic UI','ヒラギノ角ゴシック','Hiragino Sans','Osaka','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}

input{
    font-size: 18px;
    color: #555;
    padding: 0px;
    height: 40px;
    grid-area: result;
    width: 95%;
}
input[disabled]{
    color:#DDDDDD;
//    cursor:not-allowed; /* 禁止カーソル */
}
div { text-align : center ; }

div { text-align : center ; } を指定することによって、全体を中央寄せしている。

ブラウザプラグイン『なろう小説簡単分析』のリリースのお知らせ!

インストールページ

インストールはこちらから!

FireFox版(PC / Androidの両方対応)

addons.mozilla.org

1分で導入完了します!

『なろう小説簡単分析』とは?

小説家になろう』において公開されている作品の『目次ページ・小説情報ページ・各話ページ』から「たったの2クリック」で『各種分析サイト』に移動するためのブラグインです。

どんなときに使うの?

自分や他人の作品の分析ができます。

現在バージョンでは「作品分析」と「作者分析」に対応しています。

ノクターンノベルズやムーンライトノクターンノベルズでも使えるの?

使えます。

どうやって使うの?

プラグインをインストールして、たった2クリックするだけです!
詳しくは画像を御覧ください!

f:id:karupoimou:20190419182421p:plain:h480

f:id:karupoimou:20190419182424p:plain:h480

スマホで使いたい人向けには

現バージョンではAndroidFireFoxには対応しています。
iphoneには対応していませんのでご了承くださいm(_ _)m

f:id:karupoimou:20190419182448p:plain:h480 f:id:karupoimou:20190419182453p:plain:h480

その他のツール

karupoimou.hatenablog.com

Pythonで行う「なろう小説API」の分析 コード例、環境準備、トラブルシューティング

なろう小説APIを使って『小説家になろう』を分析する

小説家になろうでは作品情報を扱うことができるAPIが提供されているため、それを利用することでさまざまなデータを簡単に得ることが出来ます。
ここでは、Pythonを使ってそれらを落としてくる方法を解説します。

  • なろう小説APIを使って『小説家になろう』を分析する
  • Pythonを使う環境の準備
  • コード編
    • ポイント上限とポイント下限を指定
    • 表示件数を500に
    • ジャンル別の総作品数を表示
    • 短編・連載の作品数 を出すだけのコード
    • YAMLロードする用のコード
    • 特定作者の作品一覧を表示
    • エクセル読み出し
  • 部品別の説明
    • 結果をテキストファイルに書き込み
    • テキストの「追記」と「完全上書き」
    • テキストファイルに時間を書き込む
    • ファイル名に日時を使う
    • 完了の表示
    • 完了時にファイルを自動で開く設定
    • 辞書型データからのデータの取り出し
    • ジャンル別の作品数を出すコード
    • sys関数
      • pythonの実行環境を表示する
    • ディレクトリ内に存在するファイル名をリストオブジェクトとして取得
  • トラブルシューティング
    • jupyter notebookが立ち上がらない
    • anaconda 立ち上げる度に毎回 anaconda nvigerter アップデートしろとうるさい
    • Anacondaがアップデート出来ない
  • 全データを一括取得するコード
  • 参考資料リンク
    • なろう小説API
    • なろう殿堂入りAPI
    • なろうAPIあそびあそばせ 作者:あしかび
    • 「なろう小説API」からの情報取得と分析: 楽ちんR編 作者:sleepy moon


手っ取り早くコピペコードでなろうデータを全取得したい人はこちら
『なろう小説API』を用いて、なろうの『全作品情報データを一括取得する』Pythonスクリプト※コード改良しました - なろう分析記録

Pythonを使う環境の準備

windowsユーザ向け
Anacondaの「jupyter notebook」を使うのが簡単。普通に日本語で使えます。

qiita.com
www.anaconda.com

続きを読む