3

リストの値を次のような通常の文字列に変換しようとしています

listy = [['value1','value2','value3'],['value1','value2','value3'],[

空のリストを初期化し、find_all('a') を使用してlisty = []すべてを見つけ、これを出力として生成しました<a>

listy = [[... <a>value1</a>, <a>value2</a>, <a>value3</a>, ...],[...<a>value4</a>, <a>value5</a>, <a>value6</a>, ...],[]]

使用してitem.find_all('a').stringみましたが、このエラーが発生しました。

AttributeError: 'ResultSet' object has no attribute 'string'

つまり、ResultSet を文字列に変換できません。

次に、変換方法を検索しResultSetますString

見つけたunicode.join(u'\n', map(unicode,listy))

しかし、私がこれを試したとき、私はこのエラーが発生します

AttributeError: 'unicode' object has no attribute 'append'

元のリストを取得するためにリストを追加すると、おそらくこのエラーが発生します

find_all('a')string型に変換してリストに追加するにはどうすればよいですか?

私のXMLファイル:

<Z>
  <Y>
    <x>
      <a> value1 </a>
      <a> value2 </a>
      <a> value3 </a>
    </x>
  </Y>
  <Y>
    <x>
      <a> value4 </a>
      <a> value5 </a>
      <a> value6 </a>
    </x>
  </Y>
  <Y>
  </Y>
</Z>

次の形式でリストを作成しようとしています

listy = [['value1','value2','value3'],['value4','value5','value6'],[]]

4

1 に答える 1

5

結果セット全体ではなく、個々のリンクの文字列を取得する必要があります。

.string セットをループし、要素ごとにフェッチします。

[link.string for link in item.find_all('a')]
于 2013-10-30T09:45:42.480 に答える