如何提取网页中window.PRELOADED_STATE并转为JSON字典?
提取window.PRELOADED_STATE并转为字典的解决方案
可以通过正则表达式精准匹配页面中的window.PRELOADED_STATE内容,再将其转为Python字典,具体步骤如下:
- 导入所需模块:
requests、re、json - 发送请求获取页面文本
- 用正则匹配目标JSON字符串
- 解析字符串为字典
完整代码示例:
import requests import re import json url = "https://www.racingpost.com/profile/horse/431262/ready-for-action-ii" response = requests.get(url) # 匹配window.PRELOADED_STATE后的JSON内容 match = re.search(r'window\.PRELOADED_STATE = (.*?);', response.text, re.DOTALL) if match: # 提取JSON字符串并转为字典 preloaded_state = json.loads(match.group(1)) print(preloaded_state) else: print("未找到window.PRELOADED_STATE内容")
说明:
re.DOTALL参数让正则中的.可以匹配换行符,适配目标JSON内容跨多行的情况- 匹配到的
match.group(1)就是window.PRELOADED_STATE =后面的完整JSON字符串,直接用json.loads()即可转为字典
内容的提问来源于stack exchange,提问作者Sam Kirwan
相关产品推荐
相关产品推荐

