Python 解析脚本标记内的json变量

Python 解析脚本标记内的json变量,python,lxml,Python,Lxml,我目前正在尝试获取以下的json输出https://sports.bovada.lv/soccer/premier-league“ 它的源代码如下所示 <script type="text/javascript">var swc_market_lists = {"items":[{"description":"Game Lines","id":"23", ... </script> 我得到一个空的var值 我还尝试保存r.text并查看它,但没有看到其中的脚本标记 我缺

我目前正在尝试获取以下
的json输出https://sports.bovada.lv/soccer/premier-league“

它的源代码如下所示

<script type="text/javascript">var swc_market_lists = {"items":[{"description":"Game Lines","id":"23", ... </script>
我得到一个空的var值

我还尝试保存
r.text
并查看它,但没有看到其中的脚本标记


我缺少什么?

您需要传递
用户代理
标题才能使其正常工作:

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\u market\u列表

script = tree.xpath('//script[contains(., "swc_market_lists")]/text()')[0]
print(script)
要提取
swc\u市场\u列表
变量值:

import re

data = re.search(r"var swc_market_lists = (.*?);$", script).group(1)
print(data)
然后,为了便于使用,请使用
json.loads()
将其加载到Python字典中:

import json
data = json.loads(data)
import json
data = json.loads(data)