Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将Beauty Soup find_all列表合并到一个元素中_Python_Beautifulsoup - Fatal编程技术网

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)表示表中的标记])