(投稿:2018/08/08|更新:2018/08/15)
ついにQiitaデビューしました!
エンジニアを名乗っていくからには「Qiita見る専」から脱したいと考えていたので、ようやくといった感じです。
嬉しくなったので記事にしました。
目次
------------
【2018-08-09追記】
Qiitaのデイリーいいねランキングを作成している記事に掲載されました!
※自動更新とのことで、今は掲載されていません。
2018/08/09更新時点で「いいね」8位でした!嬉しい!!嬉しくて更新される前にスクリーンショット撮りました!*1
出典:【毎日自動更新】Qiitaのデイリーストックランキング!ウィークリーもあるよ
------------
内容
今回は
- 「小説家になろう」の作品を
- Pythonを用いて
- Webスクレイピングで
- ローカルに各話を.txt形式で保存する
という試みです。
「小説家になろう」、最近なぜかドはまりしてしまったんですよね……。
時間を返して欲しい(褒め言葉)と思っていたので、このように記事に昇華できてよかったです。
経緯
Aidemyというネット上でのプログラミング学習サービスで自然言語処理(NLP)のコースを受講していたとき、ローカル環境でもNLPやりたいな、と考えたのがきっかけです。
- ローカルで実行するためにはデータセットが必要。
- せっかくなら興味あるものをコーパスにしたい。
- 小説家になろうをスクレイピングしよう。
「機械学習を学びたい!」という意欲がある人の前にしばしば立ちはだかるのが
「入力データが無い・興味が沸かない」という問題だと思います。
NLPとスクレイピングはこの問題への1つの解決策でしょう。
Aidemyの自然言語処理をローカル環境で行うために、大量のコーパスデータが必要になりました。
— こここ@Webライター・Python使う人 (@kokokocococo555) 2018年7月11日
そこで、せっかくなので「小説家になろう」のデータを使おうかなと考え、ひさびさにスクレイピングのコード書きました。
過去に競馬予測で使ったコードを使いつつ書いたけど、案外覚えてるもんですね。
最近「小説家になろう」の異世界転生ものを読み漁っているため、ちょうどいいです。
— こここ@Webライター・Python使う人 (@kokokocococo555) 2018年7月11日
このデータで何かできたらQiitaなりブログなりにまとめます。
しかし、スクレイピングの興が乗ってしまったからといってこんな時間になるとは予想外でした…。つらい。
そのかいあって、スクレイピングのコードは一旦完成しました。
— こここ@Webライター・Python使う人 (@kokokocococo555) 2018年7月11日
・複数の作品ページのURLリストを渡すと、
作品ごとにフォルダを作る
各話ごとにテキストファイルを保存
・テキストファイルには「タイトル、最終更新日、URL、本文」が分離可能な形で含まれる
あとはごりごり分析するだけ。
Qiita初投稿です✨#Aidemy で自然言語処理やったとき、自分用コーパスがあったらいいなと思って書いたスクレイピングのコードです。
— こここ@Webライター・Python使う人 (@kokokocococo555) 2018年8月7日
「小説家になろう」をPythonでスクレイピングして本文を保存する(自然言語処理用コーパス作成) on @Qiita https://t.co/kLmcnnzO2i
Webスクレイピングは楽しい
Webスクレイピングは安心のオライリー社の書籍で2年前くらいに一通り学びました。
本書の「まえがき」にWebスクレイピングに関する素敵な言葉があったので紹介します。
実際、ソフトウェア技術者としての私は、Webスクレイピングほどに、プログラマにも普通の人にも、興奮を与えるプログラミング技術には、ほんのわずかしか出会ったことがありません。(…中略…)何度も行っているのにかかわらず、ある種のスリルと可能性への感覚に襲われるのです。
引用元:『PythonによるWebスクレイピング』
Webスクレイピングは一度体験してみると虜になってしまいます。全能感すら抱きますね。エキサイティングで感動的です。
アルバイトでもWebスクレイピングのコードを書いていたり、競馬予測のためのデータをWebスクレイピングでごりごり集めたりといった経験もあって、私自身、結構好きな分野です。
さいごに
情報を集めて勉強するだけでなく、これからも積極的に実装し、Qiita等で情報発信していきます。
ソースコードはGithubにも上げています。
(おしまい)
実践中の取り組みについてご紹介しています。
他にもプログラミングに関連した記事も書いています。
「大学院→公務員→フリーランス」とふらりふらりとしてきた私(こここ)が、
主にその想いやフリーランス生活について書き散らしていくブログです。
・「独立したいなー」
・「でも不安だなー」
と思っている方に背中をお見せすることで、少しでも楽になっていただければと願っています。
大学卒業後の進路選択がもっと多様になってほしい、という大きな目標もあります。
ただ、基本的に雑記ブログです。フリーランス、プログラミング、読書、ゲーム等、テーマは興味のままに。
読者登録して気にかけていただけるとめっちゃ喜びます!
ぜひともぜひとも!!
*1:削除要請があれば消します