最近有个小项目,需要爬取页面上相应的资源数据后,保存到本地,然后将原始的HTML源文件保存下来,对HTML页面的内容进行修改将某些标签整个给替换掉。
对于这类需要对HTML进行操作的需求,最方便的莫过于BeautifulSoup4的库了。
样例的HTML代码如下:
1 | <html> |
这里主要包括了<a >
标签,<a >
标签里面嵌入了<img >
标签,其中有<a class="videoslide">
的标识该标签实际是可以播放动画的。需要根据class="videoslide"
来判断将整个<a >
标签换成播放器的<video >
标签,将没有class="videoslide"
的<a >
标签换成<figure>
标签。
也就是将带有的<a class="videoslide" ...><img ... /></a>
标签换成
1 | <div class="video"> |
将<a ....><img .../></a>
标签换成
1 | <figure> |
这里通过BeautifulSoup4 的select()方法找到标签,通过get()方法获取标签及标签属性值,通过replaceWith来替换标签,具体代码如下:
首先安装BeautifulSoup4的库,BeautifulSoup4库依赖于lxml库,所以也需要安装lxml库。
1 | pip install bs4 |
具体代码实现如下:
1 | import os |
结果:
1 | <html> |