使用Java从HTML页面提取JavaScript字符串
我想获取在html页面中硬编码的特定Javascript变量的值。按照以下说明访问测试用例:使用Java从HTML页面提取JavaScript字符串,javascript,java,object,Javascript,Java,Object,我想获取在html页面中硬编码的特定Javascript变量的值。按照以下说明访问测试用例: 请访问以下网站: 开放式控制台 类型:Shopify.theme 输出为:Object{name:“Retina”,id:8528293,主题商店id:601,角色:“main”} 类型:Shopify.theme.theme\u store\u id 输出为:601 上面的响应来自下面给出的脚本,该脚本出现在所有Shopify商店中 <script> //<![CDATA[
- 请访问以下网站:
- 开放式控制台
- 类型:
Shopify.theme
- 输出为:
Object{name:“Retina”,id:8528293,主题商店id:601,角色:“main”}
- 类型:
Shopify.theme.theme\u store\u id
- 输出为:601
<script>
//<![CDATA[
var Shopify = Shopify || {};
Shopify.shop = "headphone-zone.myshopify.com";
Shopify.theme = {"name":"Retina","id":8528293,"theme_store_id":601,"role":"main"};
//]]>
</script>
//
如何编写java代码来获取Shopify.theme.theme\u store\u id字段的值并将其存储?- 以字符串形式获取html页面(请参阅)
- 使用正则表达式检测“Shopify.theme”关键字:
Java(一种服务器端编译语言)与JavaScript(通常在客户端执行的脚本语言)无关。他们只是有相似的名字。您必须在客户端(例如浏览器)和web服务器之间发送/接收数据,并对其进行序列化/反序列化。是否要执行Javascript代码并访问Javascript对象?或者只是解析html响应并提取脚本标记中包含的数据?@EricLeibenguth任何一个都可以。最后,我需要java程序中的值来运行进一步的工作。请告诉我如何通过Java解析html以获得所需的数据。@TedNyberg我确实理解其中的区别。但我不知道如何获取所需数据并将其存储在数据库中。澄清一下,这段代码正在从HTML页面提取请求的字符串,但根本不关心它是“JavaScript”还是以任何方式解释它。操作:不需要标记“JavaScript”和“Object”。谢谢,我使用了
String patternString=“(?I)(Shopify.theme)(.+?)(;)”代码>运行良好!!
String patternString = "Shopify.theme\\s*=\\s*.*theme_store_id\\"\\:(\\d+)";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(text);
String themeStoreId;
while (matcher.find()) {
themeStoreId = matcher.group(1);
}