Python 将Beauty Soup find_all列表合并到一个元素中
我创建了一个脚本,每周通过电子邮件进行解析,在特定电子邮件中查找表。我知道我想要的东西是在一个具有特定类名的表标记中。然后,我们的目标是把这些表格放进另一封电子邮件中,每周自动发送一次,基本上在表格之间加上一个Python 将Beauty Soup find_all列表合并到一个元素中,python,beautifulsoup,Python,Beautifulsoup,我创建了一个脚本,每周通过电子邮件进行解析,在特定电子邮件中查找表。我知道我想要的东西是在一个具有特定类名的表标记中。然后,我们的目标是把这些表格放进另一封电子邮件中,每周自动发送一次,基本上在表格之间加上一个标记 到目前为止,我所拥有的是实际的电子邮件抓取,在最后发送电子邮件,但我只是不知道如何将查找结果合并到一个元素中。我显然对不同的方法持开放态度,这就是为什么我提出这样的问题 我对代码的理解是: def parse_messages(enhance_str): soup = Bea
标记 到目前为止,我所拥有的是实际的电子邮件抓取,在最后发送电子邮件,但我只是不知道如何将查找结果合并到一个元素中。我显然对不同的方法持开放态度,这就是为什么我提出这样的问题 我对代码的理解是:
def parse_messages(enhance_str):
soup = BeautifulSoup(enhance_str, 'html.parser')
table = soup.find_all('table', {'class': 'MsoNormalTable'})
return table
这给了我一个类似列表的对象(我知道find_all sub classes list),但是我知道的任何列表方法都不适用于这个对象。我想我可以做点像
'<br/>'.join(table)
'
'.join(表)
但这会抛出一个属性错误
我肯定有一个简单的答案,但我看不出来。非常感谢您的帮助
编辑:作为澄清,我只是试图保留这些表的html结构,这样我就可以将它们弹出到新的电子邮件中并按原样发送。下面的解决方案适合我,因此我将其标记为已接受的答案
谢谢你的帮助 soup.find\u all的输出列表中的元素是
bs4.element.Tag
对象,而不是一些可以按原样连接在一起形成字符串的对象
我不知道你在做什么,但如果你想把它们都做成一个str
,你可以在标记上迭代,调用str
,获得字符串表示,然后join
:
'<br/>'.join([str(tag) for tag in table])
'
'.join([str(tag)表示表中的标记])