Python 仅从HTML文件中获取脚本
我有一个很大的html文件,其中包含一个网站的完整代码。我只关心Python 仅从HTML文件中获取脚本,python,html,split,Python,Html,Split,我有一个很大的html文件,其中包含一个网站的完整代码。我只关心…中的代码。有没有一种方法可以轻松地从html文件中删除这些行?或者我必须按每个拆分文件吗?我想忽略在第一个代码< >代码>(像头)之前的部分,我需要忽略文件末尾的标签以及中间,就像它从“代码> >代码>到 < /代码> .< /p> 解析HTML时,建议使用HTML解析器库,例如,这项工作不难: from bs4 import BeautifulSoup pagehtml = ''' <li> Text 1 </
…
中的代码。有没有一种方法可以轻松地从html文件中删除这些行?或者我必须按每个
拆分文件吗?我想忽略在第一个代码< >代码>(像头)之前的部分,我需要忽略文件末尾的标签以及中间,就像它从“代码> >代码>到<代码> < /代码> .< /p> 解析HTML时,建议使用HTML解析器库,例如,这项工作不难:
from bs4 import BeautifulSoup
pagehtml = '''
<li> Text 1 </li>
<script>
<li> Text 2 </li>
<li> Text 3 </li>
</script>
<li> Text 4 </li>
<script>
<li> Text 5 </li>
</script>
'''
soup = BeautifulSoup(pagehtml, 'html.parser')
因此,首先是:
>>> soup.findAll("script")[0]
<script>
<li> Text 2 </li>
<li> Text 3 </li>
</script>
>>soup.findAll(“脚本”)[0]
文本2
文本3
第二个是:
>>> soup.findAll("script")[1]
<script>
<li> Text 5 </li>
</script>
>>soup.findAll(“脚本”)[1]
文本5
如果要删除所有脚本标记:
from bs4 import BeautifulSoup
pagehtml = '''
<li> Text 1 </li>
<script>
<li> Text 2 </li>
<li> Text 3 </li>
</script>
<li> Text 4 </li>
<script>
<li> Text 5 </li>
</script>
'''
soup = BeautifulSoup(pagehtml, 'html.parser')
[s.extract() for s in soup.findAll('script')]
从bs4导入美化组
页面HTML=“”
文本1
文本2
文本3
文本4
文本5
'''
soup=BeautifulSoup(pagehtml,'html.parser')
[s.extract()表示汤中的s.findAll('script')]
>>汤
文本1
文本4
>>>
使用特定的html解析器,如BeautifulSoup来完成该任务。
from bs4 import BeautifulSoup
pagehtml = '''
<li> Text 1 </li>
<script>
<li> Text 2 </li>
<li> Text 3 </li>
</script>
<li> Text 4 </li>
<script>
<li> Text 5 </li>
</script>
'''
soup = BeautifulSoup(pagehtml, 'html.parser')
[s.extract() for s in soup.findAll('script')]
>>> soup
<li> Text 1 </li>
<li> Text 4 </li>
>>>