Python 仅从HTML文件中获取脚本

Python 仅从HTML文件中获取脚本,python,html,split,Python,Html,Split,我有一个很大的html文件,其中包含一个网站的完整代码。我只关心…中的代码。有没有一种方法可以轻松地从html文件中删除这些行?或者我必须按每个拆分文件吗?我想忽略在第一个代码< >代码>(像头)之前的部分,我需要忽略文件末尾的标签以及中间,就像它从“代码> >代码>到 < /代码> .< /p> 解析HTML时,建议使用HTML解析器库,例如,这项工作不难: from bs4 import BeautifulSoup pagehtml = ''' <li> Text 1 </

我有一个很大的html文件,其中包含一个网站的完整代码。我只关心
中的代码。有没有一种方法可以轻松地从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>
    
    >>>