0

次のデータ構造から情報を引き出すには、正規表現が必要です。このデータは JavaScript 変数にあります。BeautifulSoup と Mechanize を使用してリクエストを作成し、ページを解析していますが、正規表現なしで必要なものを取得する方法がわかりません。詳細は以下に続きます。

生データ:

var d = [[909.0546875,842.3125,32429,'TownID: 32429','GREY','circle_grey.png',970,'goldpimp\'s city','','N/A'],[1434.8890625,1365.41484375,32143,'TownID: 32143','GREY','circle_grey.png',899,'1..','','N/A'],[1553.92265625,1117.43046875,32326,'TownID: 32326','GREY','circle_grey.png',522,'Avacyns Pantheon','','N/A'],[1305.17265625,1328.6421875,28927,'TownID: 28927','GREY','circle_grey.png',3554,'Furiocity','','N/A'],...(cont.)

たとえば、最初の行で、、、およびをプルする必要がTownID: 32429あり970ますgoldpimp\'s city

各町 ID と関連情報を取得するには、データ構造全体に対してこれを行う必要があります。初心者の質問で申し訳ありませんが、正規表現は本当に私の頭を悩ませます。

4

1 に答える 1

2

dはリストなので、索引付けによってリストにアクセスできます。では、なぜ正規表現なのでしょうか? あなたはそれを必要としません。結果を取得するには:

for city in d:
  print "%s %s %s" % (city[3], city[6], city[7])

このprintステートメントは、テキストをコンソールに出力します。それぞれ%sが (順番に) 右側のグループの文字列%sに置き換えられます (最初は にcity[3]、2 番目は にcity[6]、3番目は に置き換えられますcity[7])。

編集

OK、dJavascript ソースからのものである場合は、 を使用して Python データに変換しjson.loads、その結果を変数に格納し、以前の方法でアクセスする必要があります (Python のjsonモジュールに関する情報は、 2.7についてはこちら、3.3 についてはこちらを参照してください)。

于 2013-10-17T13:21:18.317 に答える