Python 3.x 如何删除“所有”;文件。编写(';';)&引用;与美联
如何使用beautifulsoup从Python 3.x 如何删除“所有”;文件。编写(';';)&引用;与美联,python-3.x,beautifulsoup,Python 3.x,Beautifulsoup,如何使用beautifulsoup从中删除所有“document.write(“”);”: 我有下一个原始html document.write('<table>'); document.write(' <tr> <td> <span class="prod"> some text </span> </td> '); document.write(' <td> <s
中删除所有“document.write(“”);”:
我有下一个原始html
document.write('<table>');
document.write('
<tr>
<td>
<span class="prod">
some text
</span>
</td>
');
document.write('
<td>
<span class="prod">
7.70.022
</span>
</td>
</tr>
');
document.write('</table>');
document.write(“”);
文件。写('
一些文本
');
文件。写('
7.70.022
');
文件。写(“”);
我需要在beautifulsoup的下一个结果中:
<table>
<tr>
<td>
<span class="prod">
some text
</span>
</td>
<td>
<span class="prod">
7.70
</span>
</td>
</tr>
</table>
一些文本
7.70
为什么不直接使用正则表达式删除不需要的部分,然后使用beautifulsoup对其进行解析
import re
data = """document.write('<table>');
document.write('
<tr>
<td>
<span class="prod">
some text
</span>
</td>
');
document.write('
<td>
<span class="prod">
7.70.022
</span>
</td>
</tr>
');
document.write('</table>');"""
pattern = re.compile(r"document\.write\('\n?([^']*?)(?:\n\s*)?'\);")
data = pattern.sub('\g<1>', data)
print data
重新导入
数据=“文件”写入(“”);
文件。写('
一些文本
');
文件。写('
7.70.022
');
文件。写(“”);“”“
pattern=re.compile(r“document\.write\('\n?([^']*?)(?:\n\s*)?'\);)
data=pattern.sub('\g',data)
打印数据
输出
一些文本
7.70.022
<table>
<tr>
<td>
<span class="prod">
some text
</span>
</td>
<td>
<span class="prod">
7.70.022
</span>
</td>
</tr>
</table>