You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Rest API返回的HTML响应中提取your_data对应值

从HTML响应中提取your_data对应值的方法

下面提供几种实用的提取方式,根据你使用的编程语言选择即可:

方法一:正则表达式匹配

直接通过正则定位your_data对应的字符串值,适合格式固定的场景:

import re

# 替换为你的HTML响应内容
html_response = """<!doctype html>
<html lang="en-US">
<head>
</head>
<body>                                                                                                               <ul id="mastmenu" class="primary-menu clearfix"><li id="menu-item-1149" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-1149"><a href="https://www.example.com/">Home</a></li>
<li id="menu-item-1200" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1200"><a href="https://www.example.com/services-2/">Services</a></li>
<li id="menu-item-1129" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-1129"><a href="#">Who We Are<span class="main-menu-toggle"></span></a>
<ul class="sub-menu">
    <li id="menu-item-1144" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1144"><a href="https://www.example.com/about-us/">About Us</a></li>
    <li id="menu-item-1153" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1153"><a href="https://www.example.com/our-team/">Our Team</a></li>
    <li id="menu-item-1159" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1159"><a href="https://www.example.com/careers/">Careers</a></li>
</ul>
</li>
/* <![CDATA[ */
var adc_ajax = {"ajaxurl":"https://www.example.com/opi/hjj-ajax.php","your_data":"ko2bop447a3"};
/* ]]> */


</body>
</html>"""

match = re.search(r'"your_data":"([^"]+)"', html_response)
if match:
    your_data_value = match.group(1)
    print(your_data_value)  # 输出:ko2bop447a3

方法二:解析HTML后提取脚本并转为JSON

这种方法更健壮,能应对脚本格式小幅度变化的情况,以Python的BeautifulSoup为例:

from bs4 import BeautifulSoup
import json
import re

# 替换为你的HTML响应内容
html_response = """上面的HTML内容"""

soup = BeautifulSoup(html_response, 'html.parser')
# 遍历所有脚本标签,找到包含adc_ajax的内容
for script in soup.find_all('script'):
    if script.string and 'adc_ajax' in script.string:
        # 提取JSON对象部分
        json_match = re.search(r'var adc_ajax = ({.*?});', script.string)
        if json_match:
            adc_ajax_data = json.loads(json_match.group(1))
            your_data_value = adc_ajax_data.get('your_data')
            print(your_data_value)  # 输出:ko2bop447a3
            break

方法三:JavaScript/Node.js环境下提取

如果在Node.js环境,可使用cheerio库解析HTML:

const cheerio = require('cheerio');

// 替换为你的HTML响应内容
const html = `上面的HTML内容`;

const $ = cheerio.load(html);
// 定位包含adc_ajax的脚本
const targetScript = $('script').filter((_, el) => /adc_ajax/.test($(el).text())).text();

// 提取并解析JSON
const jsonMatch = targetScript.match(/var adc_ajax = ({.*?});/);
if (jsonMatch) {
    const adcAjax = JSON.parse(jsonMatch[1]);
    console.log(adcAjax.your_data); // 输出:ko2bop447a3
}

内容的提问来源于stack exchange,提问作者imbra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 12:23:13