gpt4 book ai didi

python - 在脚本标签内解析 json var

转载 作者:太空狗 更新时间:2023-10-30 00:48:55 25 4
gpt4 key购买 nike

我目前正在尝试抓取以下 'https://sports.bovada.lv/soccer/premier-league'

的 json 输出

它有以下来源

<script type="text/javascript">var swc_market_lists = {"items":[{"description":"Game Lines","id":"23", ... </script>

我正在尝试获取 swc_market_lists 变量的内容

现在我遇到的问题是,当我使用下面的代码时

import requests
from lxml import html



url = 'https://sports.bovada.lv/soccer/premier-league'
r = requests.get(url)
tree = html.fromstring(r.content)
var = tree.xpath('//script')
print(var)

我得到一个空的 var 值。

我也曾尝试保存 r.text 并查看它,但我没有在其中看到脚本标签。

我错过了什么?

最佳答案

您需要传递 User-Agent header 才能使其工作:

r = requests.get(url, headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36"})

要获得所需的脚本,您可以检查文本中是否存在swc_market_lists:

script = tree.xpath('//script[contains(., "swc_market_lists")]/text()')[0]
print(script)

要提取 swc_market_lists 变量值:

import re

data = re.search(r"var swc_market_lists = (.*?);$", script).group(1)
print(data)

然后,为了使其易于使用,使用 json.loads() 将其加载到 Python 字典中:

import json
data = json.loads(data)

关于python - 在脚本标签内解析 json var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35306761/

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