初めに
自分がプログラミング初心者ということ、さらにこのアドベントカレンダーに初めて参加して初めて記事を書くということをを踏まえた上で気楽に読んでいただけると嬉しいです。
記事のきっかけ
web作成に興味があり、最近はjsやphpの勉強をしています。アドベントカレンダーに参加するにあたって何か物を作ろうと思い立ちましたが技術力のなさと時間のなさにより喪失。毎日使用しているGoogleのwebサイトがどのような要素でできているか調べれば自分の勉強により生かすことができると思い今回googlewebサイトのスクレイピングを行いました。
困ったときはとりあえずのchatgpt
Gooleのホームページの開発者ツールをのぞいてみました。
全然わからない。
ところどころしかわからない。地道に調べていけばわかると思うが途方もない時間がかかってしまいます。そういうときのためのchatgpt。早速聞いてみました。
そうですよね
やっぱり手動で地道にコードをひとつずつ調べていくしかないのでしょうか…?
1は言わずもがな一旦省く。
2の方法を試してみました。
スクレイピング
Googleのサイトをスクレイピングをする。それにあたって以下の記事を参考に行いました。
【徹底解説】GASによるスクレイピング完全ガイド
今回はGoogleSpreadSheetを使用してストレイピングをしていきます。
まずはグーグルドライブ開いて,新規作成を押し,新しくGoogleスプレッドシートを作成。
次に、「ツール」→「スクリプトエディタ」を選択して作成する。
この画面が開けばok
htmlを取得していく
実際に以下のコードをGAS(Google Apps script)に入力することでストレイピングを行っていきます。
function myFunction(){var getUrl = "https://www.google.co.jp/";
var html = UrlFetchApp.fetch(getUrl).getContentText('UTF-8');
}
UrlFetchApp 指定されたURLからHTTPリクエストを送り、そのURLのコンテンツを取得
getContentText('UTF-8') 取得したコンテンツをUTF-8形式のテキストとして取得するメゾット
取得不可
このアプリはGoogleで確認されていません
やっぱりそうでしたか
スクレイピングをする際の注意事項
今回Googlewebサイトのスクレイピングをおこないましたが、スクレイピングをする際には注意事項があります。
・ウェブサイトの利用規約を確認する: サイトごとに異なる利用規約があります。スクレイピングが禁止されている場合もあるので、利用規約をよく読み、スクレイピングが許可されているかを確認しましょう。
・個人情報や著作権の尊重: スクレイピングで得たデータが個人情報を含んでいたり、著作権を侵害している可能性があります。他者の権利やプライバシーを尊重し、法的な規制に従いましょう。
・IPアドレスのブロック: スクレイピングを継続的に行うと、ウェブサイトからIPアドレスがブロックされることがあります。極端な頻度や過度な負荷を避けることが大切です。
今回エラーが起こってしまったのは、一つ目のウェブサイトの利用企画に引っかかったことが原因でした。
スクレイピングをする際は以上の注意事項に沿って行うようにしましょう。
最後に
Googleのページのコードを解析するのは手動でひとつずつ確認しなければいけないことがわかりました。本当は部分的にで解析を行いたかったのですがあまりの知識量のなさに、中途半端な内容になりそうでしたので今回はこういった内容になってしまいました…
もっと勉強して次回はより専門的な記事をかけえるようにがんばりたいと思います。