欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

利用python的爬虫技术实现两个不同的本地网页内容合并到一个网页中

程序员文章站 2022-04-22 11:40:37
如何优雅的把两个不同的本地网页内容合并到一个网页中问题:项目中遇到一个问题就是把已经画出的两个html图合并成一个网页显示(给领导看)想了好多,开始想的是把原有的网页以字符串的方法是读取,然后把提取需要的部分(就是把第一个网页的标签中的内容替换到第二个网页中,然后再把第一个网页的中的内容增加到第二个网页中),随后而来的问题就是怎么读取标签和标签中的内容,思考无果放弃了。有知道的小伙伴可以留言。第二个思...

如何优雅的把两个不同的本地网页内容合并到一个网页中

问题:

项目中遇到一个问题就是把已经画出的两个html图合并成一个网页显示(给领导看)想了好多,开始想的是把原有的网页以字符串的方法是读取,然后把提取需要的部分(就是把第一个网页的<head>标签中的内容替换到第二个网页中,然后再把第一个网页的<body>中的内容增加到第二个网页中),随后而来的问题就是怎么读取<head>标签和<body>标签中的内容,思考无果放弃了。有知道的小伙伴可以留言。

第二个思路使用爬虫技术也就是本次使用的方法。

from bs4 import BeautifulSoup

要使用bs4这个库,这个库很好安装,当然还要安装一个依赖库。

直接上代码了,注释写的很清楚

from collections import defaultdict
from bs4 import BeautifulSoup

def MergeHTML(path):
    AllPlotfile = open(path + '\\data\\AllPlot.html', 'rb')
    htmlA = AllPlotfile.read()
    bsA = BeautifulSoup(htmlA,"html.parser")
    PlotStatusfile = open(path + '\\data\\PlotStatus.html', 'rb')
    htmlP = PlotStatusfile.read()
    bsP = BeautifulSoup(htmlP,"html.parser")    
    bsAhead = bsA.head
    bsAbody = bsA.body
    bsP.head.decompose()  #清除head标签
    bsP.html.insert_before(bsAhead) #插入bsAhead标签
    bsP.html.insert_before(bsAbody) #插入bsAbody标签
    with open(path + '\\data\\all.html','w') as f:
        f.write(bsP.prettify()) #把合成的内容写入html中

if __name__ == "__main__":
    MergeHTML('.\\path')

建议读官网,有中文例子:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/#id49

本文地址:https://blog.csdn.net/m0_38036750/article/details/109649539

相关标签: python