Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java从HTML页面提取JavaScript字符串_Javascript_Java_Object - Fatal编程技术网

使用Java从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[

我想获取在html页面中硬编码的特定Javascript变量的值。按照以下说明访问测试用例:

  • 请访问以下网站:
  • 开放式控制台
  • 类型:
    Shopify.theme
  • 输出为:
    Object{name:“Retina”,id:8528293,主题商店id:601,角色:“main”}
  • 类型:
    Shopify.theme.theme\u store\u id
  • 输出为:601
上面的响应来自下面给出的脚本,该脚本出现在所有Shopify商店中

<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);
}