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

** python3 修改html文件中标签的属性值**
:----------因为python3中的highchart模块画图,感觉非常不错,用python的语言翻译javascript。

在实际开发过程中我们几乎或多或少地用到一些经典的js,把这些download到本地来引用,比一直用代理访问服务器方便很多。

于是为了引用down下来后的js,首先得修改html文件内的标签属性值。这里我直接上例子(index.html).

<head>
<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 type=“text/javascript” src=“http://code.highcharts.com/modules/drilldown.js”>
</head>

	在pycharm中的代码如下
	#
	from bs4 import BeautifulSoup

	with open("index.html","r",encoding="utf-8") as file:
 	fcontent=file.read()
 	sp=BeautifulSoup(fcontent, 'lxml') 
    label_single = sp.link		#获得标签link , 类型为<class 'bs4.element.Tag'>
    label_1['href'] = "./highslide.css"   #利用字典,把href的内容该成当前路径下的css,当然你可以根据自己的路径fill in
	#接下来要修改标签script内的src值,但是我们发现sp.tag, 只能够得到第一个对应的标签,而我这里有2个或者多个script标签,
	于是上面的代码方式就不适用了!		
	#那如何遍历赋值呢?请往下看
	#modify the script label
	src_list = ["./jquery.min.js", "./drilldown.js" ]


	label_list = sp.findAll('script')
	i = 0
	for label in label_list:
 		label["src"] = src_list[i]   # src_list[i]类型也是<class 'bs4.element.Tag'>
 		i +=1
 	#最后将其写入
    with open('index.html', 'w') as fp:
    fp.write(sp.prettify())
		
    最后生成的index.html,其中我们目标修改的标签属性值如下。
	  <script src="./jquery.min.js" type="text/javascript"></script>
	  <script script src="./drilldown.js" type="text/javascript"></script>


 [1]:https://zhidao.baidu.com/question/478895694.html?fr=iks&word=python3+BeautifulSoup%D0%DE%B8%C4%B1%EA%C7%A9%C4%DA%CB%F9%D3%D0src%CA%F4%D0%D4%B5%C4%D6%B5&ie=gbk
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值