在我用Python运行的脚本中,我想打开一个本地html文件,该文件在我想更新的脚本标记内有一个javascript数组
这是一个测试代码:
from bs4 import BeautifulSoup
html = '''
<script>
var myArray = [
{'name':'Michael', 'age':'30', 'birthdate':'11/10/1989'},
{'name':'Mila', 'age':'32', 'birthdate':'10/1/1989'},
{'name':'Paul', 'age':'29', 'birthdate':'10/14/1990'},
{'name':'Dennis', 'age':'25', 'birthdate':'11/29/1993'},
{'name':'Tim', 'age':'27', 'birthdate':'3/12/1991'},
{'name':'Erik', 'age':'24', 'birthdate':'10/31/1995'},
]
buildTable(myArray)
'''
soup = BeautifulSoup(html, 'lxml')
scripts = soup.find_all('script') # successfully captures the <script> element
for script in scripts:
print(script)
我不知道如何选择myArray变量并用另一个变量更新它(我的脚本中有)
您不能直接选择
myArray
变量,因为它是Javascript,并且BeautifulSoup只解析HTML。因此<script>
内的所有内容都将作为原始文本处理这意味着如果要更新
<script>
标记,需要使用类似regex的东西,如下所示:相关问题 更多 >
编程相关推荐