見出し画像

noteの有料記事をPythonを使ってスクレイピングで抽出してエクセル出力してみた(コード付き)

▼更新memo
・(2023/08/29: 追記) noteの仕様が変わっており、値がうまく取得できていなかった問題がありましたが、修正対応いたしました。
・(2024/05/04: 追記) noteの仕様が変わっており、値がうまく取得できていなかった問題がありましたが、修正対応いたしました。
・(2024/05/06: 追記) 検索結果を有料記事のみヒットするよう修正いたしました。


この記事を読んで欲しい対象者
・Pythonの勉強中の方
・スクレイピングに興味のある方
・openpyxlを使ってエクセルを扱いたい方

・noteの有料記事を抽出したい方


noteの記事をこれからいくつか書いていこうと思っているのですが、

似たような記事がいくらで出ているのかライバルの価格を参考にしたいと思い、今回スクレイピングの勉強ついでにPythonで取得してエクセルに出力するコードを書いてみました

有料記事を抽出するので分析するのにも使えるかと思います。

自分で一個一個記事を調べて調査するのは
私の場合は考えただけでも心が折れます。

こういうのはプログラムで自動化するのが一番です。

今回はnoteでスクレイピングを行っていますが、
コードを応用したら他のサイトでもスクレイピングができる
ようになるはずです。

そして今回スクレイピングで取得する情報は
出品者名
スキ
値段
公開日
タイトル
URL
です。

動作はこのようになります。
(動画貼り付けたかったがやり方が分かりませんでした、、。)

①chromedriverが起動
②noteにアクセスロード中
③noteにアクセス
④検索キーワードを入力

スクリーンショット 2020-08-01 3.07.00

①検索実行して表示
②下にスクロール移動
③スクロール
④スクロール(全てが表示されるようになるまでスクロールします)

スクリーンショット 2020-08-01 3.10.08


そして情報をエクセルにPythonで書き込んでこのようになります。

スクリーンショット 2020-07-29 23.39.31


必要な環境
・パソコン
・Python 3.x
・pip環境(Python3が使えたら使えると思います)
・エクセル

くらいでしょうか。
※ Python環境がまだな方は環境を作る必要があります。
  こちらの記事ではPython環境の説明はしていません。

できればPythonが分かるのが一番ですが、
コピペでも動くので、まずは動くモノを作ってみて
Pythonの中身のコードを読んでいけば良いかと思います。

今回Pythonでやることとして(プログラムの流れ)は
・スクレイピング 
        ・ChromeDriverでchromeの自動操作
        ・URL移動
        ・検索窓に文字の入力
        ・画面スクロール
        ・文字の抽出
・日付の操作
・文字や数値や日付の型をキャスト(変換)
・エクセル書き込み


になるので、色々とPythonの勉強になるポイントも結構あるかと思います。

ちなみにChromeDriverが初めての方
以下の記事でまずはChromeDriverを動作させてみてから
有料記事を取得するという順でやるのをオススメ
します。

https://note.com/nkr_bet365/n/n2fd79bdf2126

こちらの記事のコード量が850行ほどになっており、これを1人で作り上げるのは色々と調べたりも必要なので1日では済まないかと思います。

それがこの金額で購入できますのでかなりお得かと思います。

私がこちらのコードを書き上げるのに、2週間程で形を完成させ、さらに細かい調整で2週間かけ、かなりの時間を費やしました。
こちらの記事を見ていただいた方はお金を払っていはいただきますが、それよりも自分の時間を大切にすることを考えてみてください。

ぜひこちらの記事を参考にしていただき、スクレイピングをマスターしてください!


ファイルを作成

それではファイル構成を作ってコードを書いていきましょう。


ここから先は

28,685字 / 1画像 / 8ファイル

¥ 9,999

この記事が気に入ったらチップで応援してみませんか?