1

大統領の討論会から議事録を引き出す試みを続けていますが、まだ html5lib を BeautifulSoup のパーサーとして使用し始めていません。

しかし、実際のトランスクリプトを含む要素を見つけるために (以前は動作していた) コードを実行すると、エラーが発生し、そのようなスパンが見つからないと主張します。

コードは次のとおりです。

from bs4 import BeautifulSoup
import html5lib
import urllib

file = urllib.urlopen('http://www.presidency.ucsb.edu/ws/index.php?pid=111395')
soup = BeautifulSoup(file, "html5lib")
transcript = soup.find_all("span", class_="displaytext")[0]

そして、ここにエラーがあります:

IndexError                                
Traceback (most recent call last)
<ipython-input-5-2c227e8c4a25> in <module>()
  1 file = urllib.urlopen('http://www.presidency.ucsb.edu/ws/index.php?pid=111395')
  2 soup = BeautifulSoup(file, "html5lib")
----> 3 transcript = soup.find_all("span", class_="displaytext")[0]

IndexError: list index out of range

そして、これが私が呼び出しているページの関連部分であり、私が狂っていないことを証明しています。クラス「displaytext」のスパンがあります

 <span class="displaytext">
           <b>
            PARTICIPANTS:
           </b>
           <br/>
           Former Governor Jeb Bush (FL);

私は何が欠けていますか?スープ呼び出しで "html5lib" を呼び出さずにこれを実行すると、正常に動作します (ただし、対応する終了タグがない誤った偽のタグ呼び出しにより、後でエラーが発生します)。

4

0 に答える 0