我有以下HTML结构:
<BODY><tag1></tag1><tag2></tag2></BODY>
我需要使用BeautifulSoup在</BODY>
之前插入一个表。
我到现在所拥有的是:
re.sub(r'\s/BODY\s', '<Table>Test<Table></BODY>', BeautifulSoup(report, "lxml"))
我得到的错误是:
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
execfile("C:\Users\My_PC\Desktop\Report.py")
File "C:\Users\My_PC\Desktop\Report.py", line 10, in <module>
re.sub(r'\s/BODY\s', '<Table>Test<Table></BODY>', BeautifulSoup(report, "lxml"))
File "C:\Python27\lib\re.py", line 155, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer
&#13;
任何帮助将不胜感激。
答案 0 :(得分:1)
你不需要一个正则表达式,你只需append表到身体:
In [45]: soup = BeautifulSoup("<BODY><tag1></tag1><tag2></tag2></BODY>", "html.parser")
In [46]: soup.body.append(BeautifulSoup("<table>Test</table>","html.parser"))
In [47]: soup
Out[47]: <body><tag1></tag1><tag2></tag2><table>Test</table></body>