1

次のようなファイルがあります。

<table>
<span clas="city"> Miami </span> <span><a href="miami" > Miami </a> </span>
<span clas="city"> Orlando </span> <span><a href="orlando" > orlando </a></span>
</table>
<table>
<span clas="city"> Los Angeles </span> <span><a href="Los Angeles" > </a> </span>
<span clas="city"> San Diego </span>  <span><a href="Los Angeles" > San Diego</a> </span>
</table>

re.compile('city">([^<]+)</span>')次のように、テーブルが終了したときに(whileループなしで)同じ状態(テーブル)に属するグループ都市にこの正規表現を拡張するにはどうすればよいですか

State 1: Miami, Orlando
State 2: Los Angeles, San Diego
4

1 に答える 1

3

適切な HTML パーサーを使用します。

from bs4 import BeautifulSoup
soup = BeautifulSoup(open(...).read())
states = {}
for i, table in enumerate(soup("table")):
    for city in table("span"):
        states.setdefault(i, []).append(city.text.strip())

与えるだろう

states
{0: [u'Miami', u'Orlando'], 1: [u'Los Angeles', u'San Diego']}
于 2013-01-30T08:31:10.720 に答える