将Resultset转换为字符串并放在列表中

时间:2013-10-30 09:34:23

标签: python xml unicode beautifulsoup

我正在尝试将列表中的值转换为普通字符串,例如

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

我初始化了一个空列表listy = []并使用find_all('a')找到了所有<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'],[]]

1 个答案:

答案 0 :(得分:5)

您需要获取每个个人链接的字符串,而不是整个结果集的字符串。

遍历集合并获取每个元素的.string

[link.string for link in item.find_all('a')]