なろう分析記録

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

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

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

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

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

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

使い方

準備

pip

pip install xlrd
pip install openpyxl
pip install beautifulsoup4
pip install pandas

変数の設定

作品固有の番号である「Ncode」と掲載サイトを指定します。

#ここに作品のNcodeを指定する
ncode="n2919fm"

#なろう本家なら「1」、ノクターンノベルズなら「0」に設定する
isNarou=1
Ncodeの調べ方

f:id:karupoimou:20190617004848p:plain:w400
nコード

実行方法

任意の場所に取得コードを.pyファイルとして保存し、pythonで実行してください。
Anacondaのjupyter notebookでも動きます。

取得コード

※コードを編集しました(2019-06-16 19:00)

windowsの「タスクスケジューラ」を使って定期的に巡回して取得する方法

一時間間隔でタスクを実行する方法

Windows10でタスクを1時間間隔で実行する方法


トラブルシューティング

エクセルファイルの書き込み時にエラーが出る

書き込みの際にエクセルファイルが開かれているとエラーがでます。
.py実行の際にはエクセルファイルを閉じていてください

複数の作品を一度に記録したい

.pyをバッチファイル(.bat)から起動する方法を使うと簡単です。

C:\Python37\python.exe 作品A.py
C:\Python37\python.exe 作品B.py
pause

バッチファイルについてはこちらをご覧ください。
karupoimou.hatenablog.com

なおバッチファイルでエラーが出る場合、大体パス関係です。
「バッチファイル パス」で検索したら解決方法が大体見つかります。