だから､ これを解決するためには､ 戦略を変えなければならないのです｡
ポイントをつかむのではなく､ サブテキストと呼ばれるものをつかむべきなのです｡
そして､ サブテキストは､ まあ､ タイトルの下に何が来るか？
なぜなら､ どのタイトルにもこうしたサブテキストがあり､ その下にスコアがあるのです｡
さて､ 今回の場合､ こちらの一番上は､ 実はスコアを持っていません｡
ここに､ サブテキストはあってもスコアがないことがわかりますね｡
そこで､ 私たちができることは､ 少し余分にチェックすることです｡
コードに戻ると､ ここで票を入れる代わりに､ これを少し変更することができます｡
私たちにできることは､ サブテキストをつかむことです｡
そしてこれは､ すべてのリンクがサブテキストを持つようにするために取得するサブテキストクラスになります｡
では､ サブテキストを選択してみましょう｡
そして､ ここでは､ 私が欲しい票､ あるいは､ 私たちの場合は､ ここをループしているので､ 票が､
サブテキストに等しいと言うように､ 戦略を変えるつもりです｡
ループしているところで､ 選択することになります｡
クラスの様子です｡
もちろんです｡
だから､ 下にスクロールしたら思い出してください｡
クラス・オブ・スコアは私たちが望むものであり､ それが私たちの投票になる｡
さて､ 忘れてはいけないのは､ 票が入らないケースもあるということです｡
では､ 今､ 私たちにできることは何でしょうか｡
というのは､ ちょっと､ 投票したら｡
長さがないのは､ 配列を取得しようとしていることを思い出してください｡
この長さが0であれば､ falseと評価されることになる｡
でも､ もしゼロでないなら､ 全部やってほしいです｡
そこで､ 今度は私たちの投票です｡
ここでインデックスをやるのではなく､ 投票､ 税金取得､ ポイント交換と言えばいいのです｡
でも､ 投票リストが存在しないと実行されないんです｡
では､ これを検証してみましょう｡
私は走ります｡
あ､ あと､ ここでの投票からサブテキストにパラメータを変更しないといけません｡
では､ そうしましょう｡
サブテキストとでも言いましょうか｡
サブテキスト
これを保存して再度実行すると
リストオブジェクトは属性を持たないので､ 課税されます｡ ここでは配列を取得しているので､
配列の最初の要素を取得する必要があります｡
だから､ これをもう一度実行すると
わかりました｡
ようやくポイントがつき､ エラーも出なくなったようです｡
すごいですね｡
つまり､ ウェブスクレイピングでは､ 仮定を検証しているわけで､ もしかしたら間違いを犯すかもしれません｡
だから､ Webサイトが何をするかで調整し､ 修正したい｡
さて､ ここで最後に､ 実際に投票をHacker Newsに追加してみたいと思います｡
では､ ここでプリントを剥がしてみましょう｡
そして､ 付け加えることがあります｡
その
投票する｡
さて､ ここで得られるポイントですが､ わかるように少し小さくしてみましょう｡
完璧です｡
それでは､ このHacker Newsのアペンドをテストしてみましょう｡
さて､ お見せする前に､ ご紹介したいことがあります｡
enumerateに至っては､ なぜenumerateを使ったのか？
というのも､ ここではリンクとサブテキストの2つのリストがあり､ リンクのリストに対してのみ列挙しているからです｡
そしてサブテキストは､ まあ､ 列挙されていない｡
つまり､ ループの中でこのサブテキストにアクセスするために､ インデックスが必要なのです｡
なぜなら､ そうでなければ､ まあ､ 列挙しなければ､ リンクとサブテキスト・アイテムの両方をつかむ方法がないからです｡
例えば､ この中で私のリンクはアイテムに変換されるだけでいいわけです｡
と｡
アイテムですが､ サブテキストです｡
ここにあるインデックスを使うしかないでしょう｡
ご理解いただけると幸いです｡
では､ これをプリントして見てみましょう｡
印刷する
セーフを押して､ スクリプトを実行しましょう｡
あ､ ここでちょっと間違いがありました｡
中括弧が外側にあることを確認する必要があります｡
これを実行すると
わかりました｡
我々は我々のデータを取得し､ 我々は307の投票を持っているVLCのセキュリティ問題についてのタイトルを持っていることを確認しましょう｡
スクロールすればページ上で確認できるようにしよう｡
307票を獲得したVLCのセキュリティ問題について｡
すごい｡
だから､ これはうまくいっているようです｡
私たちのスクリプトは機能しています｡
素晴らしい｡
さて､ 最後に付け加えると､ この全体の印刷は少し醜いので､ ターミナルにきれいに印刷するのが理想的です｡
さて､ Pythonで使えるモジュール､ ビルトインモジュールがあります｡
プリティプリントと呼ばれる､ このp printのようにインポートすればいいのです｡
では､ これをご覧ください｡
ここで印刷の代わりにする場合｡
私はPプリントをしています｡
Pプリント｡
違いに気づくかどうか､ 見てみましょう｡
わかりました｡
少しすっきりしましたね｡
少し間隔が空いたし､ まあ､ 以前よりずっときれいになった｡
それは本当に素晴らしいことです｡
さて､ もうひとつは､ 先ほども申し上げたように､ 100を超える票だけを対象にしています｡
そこで､ ここにもう一つif文を追加してみましょう｡
これをもう少し大きくしてみよう｡
そして､ ここでのポイント内では､ 「もし」と言うことにします｡
点です｡
あ､ 99より高い｡
そして､ 更新されたHacker Newsに追記します｡
保存しよう｡
これを試してみてください｡
わかりました｡
100点以上のストーリーしかないようなので､ すっきりしていますね｡
ずいぶん小さくなりましたね｡
すごい｡
さて､ これにはもう少し付け加えたいことがあります｡
理想的なのは､ これらの投票がランク付けされ､ 一番上に高い投票があり､ 一番下に低い投票があることです｡
そうすれば､ どの話から読めばいいのか､ 判断しやすくなりますから｡
次のビデオでそれを探ってみましょう｡
バイバイ｡