なろう分析記録

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

はてなブログの『サイトマップが読み込まれない問題』調査の続報。『放置しておけばそのうち読み込まれる説』がおそらく正しいという結果に。

前回記事に書いた「サイトマップが読み込まれない問題」

karupoimou.hatenablog.com

前回の結論

現在のはてなブログにおける「中身の書いてあるサイトマップ」は「sitemap.xml?page=1」であった。

「sitemap.xml」には「sitemap.xml?page=1」へのリンクしか書かれていないので、「sitemap.xml」だけ読み込まれても意味がない。

しかし「sitemap.xml?page=1」を登録しても、なかなか取得されない。

なんで???

約一ヶ月後

ようやく取得成功していました。

f:id:karupoimou:20190616192051p:plain:w400
結果1

f:id:karupoimou:20190616192135p:plain:w400
結果2

最終的な結論

  • 「sitemap.xml?page=1は放って置いたらそのうち読み込まれる説」はおそらく事実と言える。


※なお、「sitemap.xml?page=1」はなかなか読み込まれないが、別ルートでクローラーがインデックス登録しているらしいので特に問題はないらしい。
はてなブログのsitemap.xmlを送信しても「サイトマップを読み込めませんでした」となる - Search Console ヘルプ

【Pythonスクレイピング】なろう作品の小説情報(ポイント数・ブクマ数ect)をエクセルファイルに記録するPythonコード

なろう作品のポイント数・ブクマ数を経時的に記録する

f:id:karupoimou:20190616083137p:plain:w400
エクセルファイル

Pythonスクレイピングを用いて、なろう作品の小説情報ページにアクセスして、現在のpt数・ブクマ数・感想数・レビュー数を取得するコードです。

このコードを用いることで、経時的に小説情報を記録できますので「何時に何ポイント入ったか、何時にブクマ増えたか(あるいは減ったか)」が分かるようになります。

続きを読む

なろうR18サイトの「XID」の仕様について調べる

XIDとは

なろうアカウントを取得すると、なろう本家のIDとは別に任意でなろうR-18サイト用のアカウントであるXIDを取得できるようになります。

※なろうR18サイト=ノクターン・ムーンライト・ミッドナイトノベルズ

続きを読む

Pythonファイルをバッチファイル(.bat)から実行する方法

.pyファイルを実行する方法はいくつかあります。

ここではその中でも、様々な応用が可能なバッチファイルから.pyファイルを実行する方法を紹介します。

f:id:karupoimou:20190603165254p:plain
バッチファイル

バッチファイルから起動する利点

ソースコードの紹介の前にバッチファイルから起動する利点について挙げておきます。

  • 処理終了後にウィンドウが閉じないように設定できる。
  • 別々の.pyファイルを扱える。
  • タスクスケジューラから実行しやすくなる。
  • 特定のファイルを指定してダブルクリックで実行する

※なおパスさえ通しておけば、「.py」をダブルクリックで実行することは可能です。

バッチファイルの記載例

pythonのパスを通している場合

python test.py
pause

この場合、パスを通しているバージョンのpython.exeが.pyファイルを実行する。

パスを通していない場合など

C:\Python37\python.exe C:\Python37\test.py
pause

この様に絶対パスで書いた方が分かりやすいかもしれません。

ドラッグアンドドロップで実行する.batファイル

パスを通していない場合
C:\Python37\python.exe %1
pause

この「%1」の所にドロップされたファイルの名前が代入されます。
このバッチファイルを作っておけば、どこに置いてある.pyファイルでも、.bat上にドラッグアンドドロップで簡単に実行できるので便利です。

複数のファイルを同時ドラッグアンドドロップするバッチファイル
for %%i in (%*) do (
C:\Python37\python.exe %%i
)
pause

バッチファイルをこの様に書くと、複数ファイルを一度にドラッグ・アンド・ドロップし、順番に実行することができます。