从内部javascript变量提取数据<;脚本>;用python

从内部javascript变量提取数据<;脚本>;用python,javascript,python,json,apache-nifi,Javascript,Python,Json,Apache Nifi,我对python、BeautifulSoup和其他 我想提取json数据,这些数据位于网站“script”标记的javascript变量中 以下是我目前的代码: import re from bs4 import BeautifulSoup import json import requests url = 'myUrl' page = requests.get(url).content soup = BeautifulSoup(page, "html.parser") pattern = re

我对python、BeautifulSoup和其他 我想提取json数据,这些数据位于网站“script”标记的javascript变量中

以下是我目前的代码:

import re
from bs4 import BeautifulSoup
import json
import requests
url = 'myUrl'
page = requests.get(url).content
soup = BeautifulSoup(page, "html.parser")
pattern = re.compile(r"var hours = .")
script = soup.find("script",text=pattern)
print(script)
目前,我可以使用如下格式提取数据:

<script>
var hours = [{...dataIwant...}];
<\script>

var hours=[{…dataIwant…}];
但我只想要不带“script”或“var hours=”的数据。我想在json中更改它,并将其放在ApacheNIFI中

我在这里和谷歌上找到的几乎所有东西都试过了。但大多数时候,当我试图提取变量并将其更改为json格式时,都会出现“无”或其他错误

因此,如果你有一些技巧来帮助我获得json格式的数据,那就太好了

谢谢大家!

如果“script”是使用soup.find()后的字符串 您可以使用正则表达式来获取所需的部分。 像这样的东西可能有用

m = re.search('var hours = (.+)[,;]{1}', script)
if m:
    found = m.group(1)

请参阅:

您可以在my pattern=re.compile中的一个组中捕获它吗?或者在汤后重新搜索。查找?嗯,我想我已经尝试过了,结果返回“无”。但我会尽快再试一次!差不多了,谢谢!它提取数组,但不提取数组后面的数据,如“纬度或经度”。但我会找到一个方法去做的。在那之后,我只需要解析Json,它会很好。非常感谢你!