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

Lio*_*cer 3 python xml unicode beautifulsoup

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

listy = [['value1','value2','value3'],['value1','value2','value3'],[
Run Code Online (Sandbox Code Playgroud)

我初始化了一个空列表listy = [],发现所有<a>使用find_all('a')并将其作为输出生成

listy = [[... <a>value1</a>, <a>value2</a>, <a>value3</a>, ...],[...<a>value4</a>, <a>value5</a>, <a>value6</a>, ...],[]]
Run Code Online (Sandbox Code Playgroud)

我尝试使用item.find_all('a').string但是我得到了这个错误.

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

意味着ResultSet无法转换为字符串.

然后我搜索如何转换ResultSetString

我发现 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>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下格式创建列表

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

Mar*_*ers 5

你需要得到每个串个人不是整个结果集的链接.

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

[link.string for link in item.find_all('a')]
Run Code Online (Sandbox Code Playgroud)

  • 当我看到这个时,我正要粘贴我的代码.被殴打42秒.Python _has_确实变得有竞争力. (3认同)