gpt4 book ai didi

javascript - 使用python从<script>中的javascript var中提取数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:11:05 26 4
gpt4 key购买 nike

我是 python、BeautifulSoup 和其他的新手,但是我想提取网站“脚本”标签中 javascript 变量中的 json 数据。

这是我现在的代码:

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>

但我只想要没有“script”或“var hours =”的数据。我想在json里改成放在apache nifi里。

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

因此,如果您有一些提示可以帮助我获取 json 格式的数据,那就太好了!

谢谢!

最佳答案

如果在你使用 soup.find() 之后 "script"是一个字符串你可以使用正则表达式来获得你需要的部分。像这样的东西可以工作。

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

参见:How to extract a substring from inside a string in Python?

关于javascript - 使用python从&lt;script&gt;中的javascript var中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47515137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com