PythonではWebのHTMLを簡単に解析できるライブラリがあります。
Web上をネットサーフィンしながら手動でいちいち調べたりするのも面倒な時があるので、
単純で規則性のあるパターンであれば自動化しない手はありません。
Webスクレイピングは巷では各オークション市場の相場を調べたり、
買占めボットなるもので、安価な価格を調べて自動で買うなんていうツールも存在しています。
※上記は法律的にアウトな部分が大きいのでスクレイピングは慎重に行ってください。
著作権や、サーバー負荷、規約違反などを考慮する必要があります。
今回はそのような高度なこととは違いますが、このスクレイピング技術を使って、このURL(https://pgming-ctrl.com/test.html)からタイトルと見出しを取得する方法をご紹介したいと思います。
以下がURL先の画像↓
プロジェクト
新規でプロジェクトを作成します。
まず何処でもいいので「Scraping」フォルダを新規作成してください。
その後に、VSCodeを立ち上げてフォルダを開きます。
下の画像の左上の「ファイル(F)」から「フォルダーを開く…」をクリックして先ほど作成したフォルダ「Scraping」を選んでください。
以下の画像で「SCRAPING」というフォルダを今開いていることが確認できると思います。
フォルダを反映出来たら次はワークスペースファイルを作成します。
以下の画像の「ファイル(F)」から「名前を付けてワークスペースを保存…」をクリックします。
名前は「scraping_workspace.code-workspace」にでもして下さい。
これで準備は完了です!
ソースコード
以下のように追加してください。
名前は「Scraping.py」です。
以下がソースです。
.pyのダウンロードはセキュリティ的にアウトなのでコピーでお願いします。
また、「Beautiful Soup」は標準ライブラリに存在していませんので、pipでインストールする必要があります。
コマンドプロンプトで以下のコマンドを打ってインストールしてください。
pip install beautifulsoup4
ソース内ではHTMLを簡単に解析できるライブラリ「Beautiful Soup」を使ってHTML情報を抽出しています。
タイトルと見出しをそれぞれ取得してテキストに直してから出力しています。
HTML情報として以下を読み込んでいることになります。
HTML全体↓
構成ファイル
構成ファイルを作成して「F5」キーですぐ実行という形にしてみましょう。
そのために、「launch.json」というファイルを作成することになります。
これは以下の手順で自動で作成できます。
1.上のメニューバーにある「実行(R)」から「構成の追加…」をクリック
2.「Python File」をクリック
3.以下の画像のように「.vscode」フォルダ内に「launch.json」が作成されます
デバッグ実行
では、実行してみましょう!
Scraping.pyが画面上に出ていることを確認して、「F5」キーを押します。
以下のように出力されていたらOKです!
お疲れ様でした。