首页 > 编程语言 > 详细

python3 如何修改html文件的标签属性值

时间:2019-04-24 23:16:46      阅读:949      评论:0      收藏:0      [点我收藏+]

highchart模块做图,用到的highchart中的模板,包括一些经典的例子。还有一些已经成为经典的js,例如drilldown

一般我们要把这些js下载到本地,方便引用。举一个自己开发中的例子

如下生成的html文件中有3个js引用

<head>
<meta charset="utf-8" />
<link href="https://www.highcharts.com/highslide/highslide.css" rel="stylesheet" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="http://code.highcharts.com/modules/drilldown.js"></script>
</head>

在网上找了很多,没有直接对应的guide,庆幸的是还是有不少可以参考的资料,在python3中这类问题用BeautifulSoup库的居多
代码如下:
  from bs4 import BeautifulSoup
  #我需要修改的html文件是index.html
  with open("index.html","r",encoding="utf-8") as file:
  fcontent=file.read()
  sp=BeautifulSoup(fcontent, ‘lxml‘) #‘lxml‘ or ‘html.parser‘
  #实例sp中link标签,因为这里只有一个link标签
  label_single = sp.link
  #把link标签内的href属性修改到引用本地路径下的css文件,利用字典的方式
  label_single[‘href‘] = "./highslide.css"

  #现在看多个标签属性(script)的修改
  #首先把要引用的js,放在列表内
  src_list = ["./jquery.min.js", "./drilldown.js" ]
  #找到所有的标签script
  label_list = sp.findAll(‘script‘)
  #通过打印列表内的元素类型可以发现他的type是<class ‘bs4.element.Tag‘>
  i = 0
  for label in label_list:
    label["src"] = src_list[i]
    i +=1

#最后写入并覆盖
with open(‘index.html‘, ‘w‘) as fp:
fp.write(sp.prettify())

最后上面的引用就成了:
<head>
<meta charset="utf-8" />
<link href="./highslide.css" rel="stylesheet" />
<script type="text/javascript" src="./jquery.min.js"></script>
<script type="text/javascript" src="./drilldown.js"></script>
</head>

希望能对需要的朋友有所帮助

  


  

python3 如何修改html文件的标签属性值

原文:https://www.cnblogs.com/xiaoyao-0574/p/10765554.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!