お帰りなさい｡
そこで､ 先ほどハッカーニュースから全データを受け取りました｡
少なくとも私たちがリクエストしたページでは､ このようにすべてのHTML情報を受け取ることができ､ 素晴らしいことです｡
これは､ あくまでいただいた文字列です｡
美しいスープで何ができるかというと､ Parseというものをすることです｡
つまり､ 美しいスープを使って､ これを文字列から操作して使える実際のオブジェクトに変換することができるのです｡
Pythonを使って､ このデータを欲しいものに修正する｡
どういうことか､ お見せしましょう｡
だから､ 美しいスープを使えるようになったのです｡
テクスチャーを取り除き､ 美しいスープと言えるようにするんです｡
そして､ この左側にある､ レスポンスドットテキストのデータをすべて文字列にすることができます｡
そして､ それを解析して､ 「このデータは実際に使えるHTMLに変更する必要があります」と伝えます｡
美しいスープを作るには､ 単純にHTMLドットパーサーと言えばいいわけです｡
そして､ これは美しいスープに､ 「これはHTMLだから解析してほしい」と伝えるのです｡
そこで､ 文字列から実際に使用できるものに変換します｡
そして､ これによって､ スープオブジェクトと呼ばれるものが作られます｡
だから､ スープ変数に代入するんだけど､ 呼び方は何でもいいんだ｡
さて､ 「これはいったい何なのか」と思われる方もいらっしゃるかもしれません｡
そして､ なぜこのようなことをしなければならないかというと､ 美しいスープはXMLという別のデータもパースするからです｡
そしてまた､ ドキュメントのウェブサイトに行き､ beautiful soup documentationに行き､
HTML dot parserを検索してみましょう｡
HTML パーサーは内蔵されていますが､ XML パーサーやその他のパーサーをインストールすることができます｡
だから､ 質問があるときは､ いつでもドキュメントを参照し､ Fをコントロールすれば､
必要な追加情報を見つけることができます｡
99%は､ HTMLパーサーをデフォルトで使っているだけです｡
しかし､ それはどういう意味なのでしょうか？
これって､ 私たちに何をしてくれたんだろう？
さて､ 見てみましょうか｡
先ほど作成したスープオブジェクトをここに表示し､ このまま下に移動して､ とりあえずこれをクリアして､ もう一度Pythonコードを実行してみましょう｡
で掻き集める｡
わかりました｡
ここで､ スープオブジェクトを取得したことがわかります｡
実際はもう少しきれいなんですけどね｡
もはや文字列ではない｡
ここでは､ 完全なHTMLで書かれていることがわかりますね｡
タイトル､ ヘッド､ ボディタグがあります｡
というように､ 実際に操作することができるのです｡
さて､ pythonのオブジェクトです｡
例えば､ スープドットボディを使えば､ ボディだけを取り出せますね｡
そこで､ 保存して､ もう一度スクリプトを実行すると｡
これでよしとする｡
今､ 本体を受け取ったところです｡
これをクリアして､ 見えるようにする｡
もう一度実行してみます｡
見たか？
あとは本体だけです｡
ドットコンテンツみたいなこともできるんですよ｡
そして､ これを実行したら､ もう一度クリアしよう｡
全コンテンツを取得しますが､ ここではリスト形式で表示されますね｡
すごい｡
さて､ このスープオブジェクトを使うと､ 実に巧妙なことができる｡
例えば､ 探したいとします｡
find allメソッドを使って､ このスープオブジェクトにあるすべてのdivを検索します｡
保存したら､ これをクリアして､ スクリプトを実行しましょう｡
なんてかっこいいんでしょう｡
そのページに含まれるすべての開発者オブジェクトをリストで取得するのです｡
すべてのリンクはどうなっていますか？
すべてのタグを取得したいのかもしれません｡
サイトのリンクはどれですか？
さて､ もう一度､ とりあえずこれをクリアして､ スクリプトを実行しましょう｡
そして､ 見てください｡
攻撃はすべて受けています｡
ページ内のリンクは以上です｡
そして､ ここでできることは､ さまざまな用途があることはご想像いただけると思います｡
ここでタイトルを実行すれば､ タイトルと言えるのです｡
スープオブジェクトのタイトルタグを取得します｡
ここでaタグのようなことをして､ もう一度スクリプトを実行すると｡
最初に出た攻撃は受ける｡
もう一つ､ findというものがあります｡
だから､ すべての発見を見つけるのではなく､ まず井戸を見つける｡
もう一度､ 「実行」をクリックすると､ 同じものが表示されるのがわかると思います｡
最初の項目が見つかります｡
さて､ なぜこれが便利なのでしょうか｡
Hacker News のウェブサイトに行き､ 最初のリンクを右クリックし､ inspect
を実行します｡
これで､ このHTML domオブジェクトが､ ページ上のすべての情報を与えてくれるようになりました｡
そうですね｡
だから､ これを見ると､ 確かにそうだとわかるんです｡
これはタグが欲しくなりますね｡
それはリンクとタイトルがあります｡
でも､ たぶん票も欲しいと思っているんです｡
そうですね｡
だから､ もし私がこのままここにいたら
この部分へ
ほら､ ここがスコアです｡
そして､ これが何点なのかも気になるところでしょう｡
例えば､ ここではID属性が使えるので､ このスコアをコピーしてみましょう｡
findして､ この値と等しいIDを与えるみたいなこともできる｡
もし私が今､ すべてをクリアしてファイルを実行しましょう｡
見たか？
この楽譜のアイデアと全く同じタグが付くんです｡
そのため､ ページ内のさまざまな要素を取得できるようにすることで､ 必要なデータを選択的に取り出せるようになりました｡
ここで一息ついて､ 次の動画で詳しくご紹介しましょう｡