お聞きしたいことがあります｡
もし､ あなたがホームページの運営者だったら
あなたのホームページをスクレイピングしてもらいたいですか？
自分のデータ､ 例えばAirbnbや､ これらの商品を一生懸命出品した人にアクセスしてもらいたいですか？
ここに書いてあるのは違う情報です｡
誰でもこの情報を手に入れることができ､ あなたのウェブサイトのコピーを作ることができるというのは､ フェアなことでしょうか？
まあ､ そうでもないんですけどね｡
そうですね｡
つまり､ 人によるんです｡
ほとんどの場合､ ウェブサイトをスクレイピングされることは避けたいものです｡
HTMLやウェブサイトのデータは誰でも利用できますが､ 人々がさまざまなウェブページを見ることができるように､ 私たちのインターネットが機能しているにすぎません｡
ほとんどのウェブサイトは､ あなたがデータをスクレイピングすることを望んでいません｡
現在では､ ウェブサイトがスクレイピングできるものとできないものを教えてくれる方法が実際に存在します｡
ロボット・ドット・テキストと呼ばれるものです｡
単にURLのスラッシュの末尾に言っているだけです｡
Robots dot txt.
エンターをクリックすると
あれを見てください｡
Airbnbにはロボットがあります｡ のテキストを表示します｡
ロボット txtは､ もしあなたがロボットなら､ ウェブスクレイパーやスパイダーなら､ と簡単に言います｡
これが､ やっていいことと悪いことの理由です｡
ルールを破ると阻止されるということでしょうか｡
いや､ 本当に防げないんです｡
しかし､ ここでは倫理的でありたいグレーゾーンであり､ ウェブサイトが許可したデータのみをスクレイピングすることです｡
そこで､ ロボットに目を向けると｡ txt, Airbnbはここで､ スクレイピングできるものとできないものを教えてくれる税金ファイルを作成したことがわかります｡
例えば､ ユーザーエージェントを見ると､ Googlebot Airbnbは､ Hey Googlebot, you're allowed to scrape
this information, but we don't allow you to scrape account alumni calendarと伝えており､ 許可されないものがたくさんあることがわかります｡
Bingの検索ボットはどうですか？
まあ､ Bingさん､ 許されてるようで､ 許されてないんですよね｡
このデータのいずれかをスクレイピングします｡
Yandex(ヤンデックス)を導入しています｡
他に何がある？
バイドゥ・スパイダーがあります｡
そして､ ユーザーエージェントのスターもいます｡
つまり､ 他の誰でもない､ 他の誰か？
これをスクレイピングすることは許されているが､ この情報は一切許されていない｡
よし､ もう一回行ってみよう｡
Udemy Dotcomに行こう｡
ここで､ 私たちはあなたがこれらの情報のいずれかをスクレイピングまたはクロールすることを望んでいないことがわかりますが､ 私たちはあなたがこれにアクセスすることを許可しています｡
API 2. 0､ もちろん､ 貸出用部品｡
そうですか､ それは残念でしたね｡
Udemyでは､ このAPI2以外のことはできないようです｡ 0のことで､ これはまた別の機会に｡
Hacker Newsはどうですか？
Hacker News を軸にしたプロジェクトを立ち上げる予定です｡
では､ Hacker Newsがスクレイピングを許可してくれるかどうか見てみましょう｡
わかりました｡
だから､ このリストは少し小さめです｡
すべてのユーザーに対して､ そのように見ています｡
これらのエンドポイントを使用することは許可されていません｡
つまり､ これらのもの､ これらのURLを使わなければ､ 問題ないと言っているのです｡
つまり､ トップページだけをスクレイピングする場合です｡
どちらが正しいかというと､ ここです｡
それでいいんです｡
例えば､ コメントに行こうとした場合｡
これもロボットのテキストにはなかったからいいんだけどね｡
もう一度､ 思い出してみると､ ロボットのテキストに行くと｡
それでいいんです｡
ただ一つ､ クロールディレイを30にするようにと言われています｡
つまり､ もし私たちが彼らのウェブサイトをクロールするならば､ 私たちが常にウェブサイトをヒットするプログラムを使用しないように､
一時停止を設けるべきでしょう｡
では､ 何を学べばいいのでしょうか？
Webサイトのスクレイピングには､ 倫理的な方法と非倫理的な方法があることを学びます｡
はい､ どんなウェブサイトでもスクレイピングすることができます｡
実は､ クロームのプラグインもあるんです｡
WebスクレイパーでGoogle Chromeのプラグインを使用する場合は､ あなたもコードの単一の行を記述せずにウェブサイトをスクレイピングすることができます使用することができますWebスクレイパーのトンがある.
倫理的なプログラミングを実践するのは良いことで､ スクレイピングする前にウェブサイトの規約を確認したり､ ロボットをチェックしたりすることです｡
TEXTで削れるもの､ 削れないものを確認します｡
なぜなら､ 通常､ ウェブサイトからスクレイピングしたデータは､
商業的な目的で使用すべきではありません｡
だからこそ､ 私たちがHacker Newsに出向き､ 30秒という残酷な遅延を要求したとき｡
そうですね｡
あなたのプログラムで積極的にウェブサイトからデータを要求している場合､ これはHacker Newsを破る可能性があるため､
本質的にスパム行為と言えるでしょう｡
さて､ ウェブスクレイピングの話をする前に､ もうひとつ､ APIというものについて書いておきたいと思います｡
Udemy Robotsにアクセスした時のことを思い出してみてください｡ しかし､ スクレイピングできる領域やエンドポイントがあることを教えてくれました｡
実際にデータにアクセスできるWebサイトもありますよね｡
例えば､ Udemyでは講師のAPIが提供されています｡
つまり､ Udemyの講師であれば､ 実際にそのAPIを使うことができるのです｡
ここで見ることができるので､ さまざまなデータを得ることができます｡
もしかしたら､ コースレビューリスト､ コース質問リストが手に入るかもしれません｡
しかし､ ここに行って､ これをURLに入力すると､ 無効なMissing Tokenが表示されます｡
それは､ 今､ 私はインストラクターではない､ 少なくともインストラクターであることを検証していないからです｡
Udemyの場合､ 「このデータは有効なインストラクター用なので､ 私がUdemyのインストラクターであることを証明するトークンを渡す必要があります」と表示されます｡
また､ 多くのウェブサイトでは､ API（アプリケーション・プログラミング・インターフェース）と呼ばれるアクセス方法を提供しています｡
このようなフォームで､ JSONと呼ばれるよく､ 必要なデータを与えるために､ いくつかのウェブサイトは､ あなたが有効なユーザーである場合にのみ､
これを行うことができます｡
例えば､ 最も人気のあるAPIの一つがこのGitHub APIで､ GitHubから様々な情報にアクセスすることができます｡
しかし､ それを使うためには､ ユーザーアカウントを作成し､ 自分たちが何者であるかを確認する必要があるのです｡
でも､ スター・ウォーズAPIのように､ 無料でアクセスできるサイトもあるんですよ｡
つまり､ 誰でも使うことができるのです｡
ユーザーであることを確認する必要はない｡
リクエストの際にトークンを出す必要はないんです｡
その代わり､ データを要求すればいいのです｡
例えば､ swap APIでpeopleと入力してEnterキーを押すと､ 「people」と表示されます｡
あれを見てください｡
このデータをすべて無料で提供してもらって､ このように､ so happyの略であるスターウォーズを中心としたアプリを作ることができるのです｡
これはStar Wars APIの略で､ 私たちは欲しい情報をすべて手に入れることができます｡
また､ JSONプレースホルダーもあります｡ これは､ 写真などのさまざまな情報を取得できる簡単なプロジェクトを構築するときに､
とても気に入って使っています｡
ここで､ 情報を与えてくれるAPIであることがわかると思います｡
私たちが使えるさまざまな写真で
もしかしたら､ 使えるポストが違うかもしれません｡
また､ これらはJSON形式と呼ばれるもので､ HTMLではなく､ データをクリーンアップしたものなので､ 人々が利用することができます｡
ウェブサイトからデータを取得する最も簡単な方法は､ 通常､ APIを使用することです｡
Webサイトでは､ 簡単にアクセスできるようになっていたり､ APIがあっても特定のユーザーしかアクセスできないようになっていたりします｡
もしかしたら､ そのサービスに登録しなければならないかもしれません｡
もしかしたら､ そのAPIにお金を払わなければならないかもしれません｡
では､ その場合､ こうしましょう｡
しかし､ Webスクレイピングもあります｡ これは､ WebサイトがAPIへのアクセスを提供していない可能性があります｡
その情報だけを持っていたいのかもしれません｡
例えば､ Hacker Newsは､ 私が知る限りAPIを提供していません｡
そこで､ 代わりにHTMLやウェブサイトをすべてスクレイピングして､ 何が使えるかを確認することができます｡
では､ Pythonを使ってどのようにWebサイトをスクレイピングすればよいのでしょうか｡
次の動画で確かめてみましょう｡