用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>
希望能对需要的朋友有所帮助
原文:https://www.cnblogs.com/xiaoyao-0574/p/10765554.html