1

私はこのhtmlデータを持っており、そこからデータを抽出するために解析する必要がありますが、タグが非常に多く、データをナビゲートするのも困難です。Htmlデータの下から、次のようなPython辞書リストを作成する必要があります。

[{"School": "Children play"}、{"Place": "newyork"}、{"Level": "four"}、{"Country": "USA"}、{"Level Of Course": "簡単"}]

<div class="quick">
 <strong>School</strong><br /> Childs play <br /><br />
 <strong>Place</strong><br />
 <a href="Search.aspx?Menu=new&amp;Me=">newyork</a><br /><br />
 <strong>Level</strong><br />four<br /><br />
 <strong>Country</strong><br />USA<br /><br />
 <strong>Level Of Course</strong><br />Easy<br /><br />
</div>

beautifulsoupを使ってみましたが、うまくいきませんでした。助けてください

4

1 に答える 1

1

残念ながら、HTMLは構文解析用に理想的に構築されていませんが、データを意味のあるPython辞書に抽出することは可能です。

from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(htmlString)

raw_data = soup.find(**{"class": "quick"}).contents
data = [x for x in raw_data if not hasattr(x, "name") or not x.name == "br"]

最初のチェックを使用if not hasattr(x, "name") or not x.name == "br"してアイテムがのインスタンスであることを確認してからNavigableString、要素が<BR>タグではないことを確認します。

data[<KEY>, <VALUE>, <KEY>, <VALUE>]その場合、データを抽出するのはかなり簡単な形式になります。

于 2012-04-18T07:59:38.283 に答える