LoginSignup
1
0

Googleのページのコードを解析してみた

Posted at

初めに

自分がプログラミング初心者ということ、さらにこのアドベントカレンダーに初めて参加して初めて記事を書くということをを踏まえた上で気楽に読んでいただけると嬉しいです。

記事のきっかけ

web作成に興味があり、最近はjsやphpの勉強をしています。アドベントカレンダーに参加するにあたって何か物を作ろうと思い立ちましたが技術力のなさと時間のなさにより喪失。毎日使用しているGoogleのwebサイトがどのような要素でできているか調べれば自分の勉強により生かすことができると思い今回googlewebサイトのスクレイピングを行いました。

困ったときはとりあえずのchatgpt

Gooleのホームページの開発者ツールをのぞいてみました。

スクリーンショット 2023-12-13 215815.png

全然わからない。

ところどころしかわからない。地道に調べていけばわかると思うが途方もない時間がかかってしまいます。そういうときのためのchatgpt。早速聞いてみました。

スクリーンショット 2023-12-13 214834.png

そうですよね

やっぱり手動で地道にコードをひとつずつ調べていくしかないのでしょうか…?

スクリーンショット 2023-12-13 215109.png

1は言わずもがな一旦省く。
2の方法を試してみました。

スクレイピング

Googleのサイトをスクレイピングをする。それにあたって以下の記事を参考に行いました。
【徹底解説】GASによるスクレイピング完全ガイド
今回はGoogleSpreadSheetを使用してストレイピングをしていきます。

まずはグーグルドライブ開いて,新規作成を押し,新しくGoogleスプレッドシートを作成。
GOOGLEDRIVE.png

次に、「ツール」→「スクリプトエディタ」を選択して作成する。

名前を付けて.png

この画面が開けばok

konogamenn.png

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で確認されていません

スクリーンショット 2023-12-13 231849.png

やっぱりそうでしたか

スクレイピングをする際の注意事項

 今回Googlewebサイトのスクレイピングをおこないましたが、スクレイピングをする際には注意事項があります。

ウェブサイトの利用規約を確認する: サイトごとに異なる利用規約があります。スクレイピングが禁止されている場合もあるので、利用規約をよく読み、スクレイピングが許可されているかを確認しましょう。
個人情報や著作権の尊重: スクレイピングで得たデータが個人情報を含んでいたり、著作権を侵害している可能性があります。他者の権利やプライバシーを尊重し、法的な規制に従いましょう。
IPアドレスのブロック: スクレイピングを継続的に行うと、ウェブサイトからIPアドレスがブロックされることがあります。極端な頻度や過度な負荷を避けることが大切です。

今回エラーが起こってしまったのは、一つ目のウェブサイトの利用企画に引っかかったことが原因でした。

スクレイピングをする際は以上の注意事項に沿って行うようにしましょう。

最後に

 Googleのページのコードを解析するのは手動でひとつずつ確認しなければいけないことがわかりました。本当は部分的にで解析を行いたかったのですがあまりの知識量のなさに、中途半端な内容になりそうでしたので今回はこういった内容になってしまいました…
 もっと勉強して次回はより専門的な記事をかけえるようにがんばりたいと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0