利用python的爬虫技术实现两个不同的本地网页内容合并到一个网页中
程序员文章站
2022-09-18 13:38: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