くじらはんど掲示板

くじらはんど用の掲示板です
[一覧へ] > (@19) [低] [未処理]
@19■ (#62) 「増補改訂Pythonによるスクレイピング&機械学習」のp50のサンプルコードでエラー - yuki (2020-06-21 02:04) /低 未処理
15の投稿主と同様と思われる事象が発生しました。
大変お手数ですが、原因が分かれば教えて頂きたく。

【①発生した事象】
以下プログラムの以下箇所でエラーが発生しました。
https://github.com/kujirahand/book-python-scraping/blob/master/ch1/sel-avocado.py
print(soup.select_one("li:nth-of-type(8)").string) #(1)

エラー内容は以下になります。
AttributeError: NoneType object has no attribute string
※シングルクォーテーションを書くと掲示板書き込みエラーになったため省略しています。


【②事象発生後確認したこと】
1)エラーとなる行を外したら、書籍と同じ結果が得られました。

2)エラーとなる部分のnth-of-typeの値を変えた際は以下の結果になりました。

※print(soup.select_one("li:nth-of-type(〇)").string)
 →〇の部分を書き換えた結果。

1 → リンゴ 
2 → ブドウ
3 → レモン
4 → オレンジ
5 → レンコン
6~8 → ①に記載と同じエラー

本来、5を指定したら「ダイコン」が返ってくるのが想定の結果だと思うのですが、「レンコン」が返ってきてしまっており、その原因が分からないです。

【③バージョン】
Python3.7.4

【④使用しているHTMLファイル】
Githubから取得したので、問題ないと思いますが、HTMLファイルについて下記します。
---------------
<html><body>
<div id="main-goods" role="page">
  <h1>フルーツや野菜</h1>
  <ul id="fr-list">
    <li class="red green" data-lo="jp">リンゴ</li>
    <li class="purple" data-lo="us">ブドウ</li>
    <li class="yellow" data-lo="us">レモン</li>
    <li class="yellow" data-lo="jp">オレンジ</li>
  </ul>
  <ul id="ve-list">
    <li class="white green" data-lo="jp">ダイコン</li>
    <li class="red green" data-lo="us">パプリカ</li>
    <li class="black" data-lo="jp">ナス</li>
    <li class="black" data-lo="us">アボカド</li>
    <li class="white" data-lo="cn">レンコン</li>
  </ul>
</div>
<body></html>
-------------


大変お手数ですが、もしお気づきの点があればアドバイスをいただきたく、宜しくお願い申し上げます。

(#62)へ返信する:

名前
タイトル
本文
優先度
状態
確認キー お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。
編集キー 編集時に使うキーを入力(省略可能)
添付ファイル 画像ファイル(最大300KB)を添付可能