从 XMLHttpRequest 返回的完整 HTML 页面中提取数组数据
Extract array data from full HTML page returned from a XMLHttpRequest
我有一些 JavaScript 代码:
var req = new XMLHttpRequest();
req.onreadystatechange = function() {
if (req.readyState === 4) {
var response = req.responseText;
console.log(response);
}
};
req.open('GET', 'https://circumvent-cors.herokuapp.com/https://weather.rap.ucar.edu/radar/displayRad.php?icao=KLWX&prod=BREF&bkgr=gray&endTime=-1&duration=2');
req.send(null);
哪个 returns 一个 HTML 页面是这样的:
<!doctype html>
<html lang="en">
<head>
<title>NEXRAD Level-II radar image(s) [KLWX BREF]</title>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Language" content="en-us" />
<meta name="author" content="Gregory Thompson" />
<meta name="copyright" content="(c) Copyright UCAR-University Corporation for Atmospheric Research All Rights Reserved" />
<link rel="stylesheet" href="/assets/css/reset.css" />
<!-- Include the SciAnimator CSS -->
<link rel="stylesheet" href="/assets/css/scianimator.css" />
</head>
<body bgcolor="#FFFFFF">
<h2>NEXRAD Level-II radar image(s) [KLWX BREF]</h2>
<p align="left">
Generated Mon, 11 Apr 2022 21:04:51 UTC by <a href="https://weather.ral.ucar.edu/radar">https://weather.ral.ucar.edu/radar</a>
<br clear="all" />
Please wait for <U>18</U> images to load.<br clear="all" />
</p>
<p align="left">
<hr size="4" width="75%" />
<!-- Container elements in which SciAnimators will go -->
<div id="scianimator"></div>
<!-- Include jQuery -->
<script src="/assets/js/jquery-1.4.4.min.js"></script>
<!-- Include SciAnimator script. Choose your compression level. -->
<script src="/assets/js/jquery.scianimator.min.js"></script>
<!-- <script src="/assets/js/jquery.scianimator.js"></script> -->
<script type="text/javascript">
/*<![CDATA[*/
jQuery(function($) {
$('#scianimator').scianimator({
'controlPosition': 0,
'images': ["../data/radar/20220411/KLWX/BREF/KLWX_20220411_190900_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_191500_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_192200_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_192900_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_193600_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_194200_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_194900_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_195600_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_200300_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_201000_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_201600_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_202300_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_203000_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_204000_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_204500_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_204900_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_205400_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_205800_BREF_gray.png"],
'theme': 'dark',
'delay': 250,
'delayStep': 25,
'dwellMultiplier': 4,
'utf8': false
}).scianimator('play');
});
/*]]>*/
</script>
</p>
</body>
</html>
我的问题是:我如何能够解析该响应,以从显示的响应中获取 images 数组? images
数组在 $('#scianimator').scianimator({
下。我想采用该数组并能够将其与 scianimator
一起使用,但我自己可以做到。
我只想知道如何从响应中提取该数组以备后用。
如果我理解正确的话,
数据不包含在浏览器发送的 html 中;
相反,html 包含一些在浏览器呈现数据时获取数据的 js。
我会说你有两个选择:
沉重的(但坚固)-
使用像 Puppeteer
这样的库来自动浏览器访问这个 url 并在那里执行 querySelector
。
轻型(比您想象的更有效)-
访问您的 link,打开 chrome 的网络面板,搜索页面发送的请求以获取实际数据。这可能是一个简单的 POST 请求
您可以使用正则表达式来提取数据
var req = new XMLHttpRequest();
req.onreadystatechange = function() {
if (req.readyState === 4) {
var response = req.responseText;
var matches = response.match(/'images':\s*(\[.+?\])/);
if (matches){
img_arr = JSON.parse(matches[1]);
console.log(img_arr);
}
else{
console.log(':(');
}
}
};
req.open('GET', getURL());
req.send(null);
function getURL(){
return 'https://circumvent-cors.herokuapp.com/https://weather.rap.ucar.edu/radar/displayRad.php?icao=KLWX&prod=BREF&bkgr=gray&endTime=-1&duration=2';
//return `data:text/html,%3C!doctype%20html%3E%0A%3Chtml%20lang%3D%22en%22%3E%0A%3Chead%3E%0A%20%20%20%20%3Ctitle%3ENEXRAD%20Level-II%20radar%20image(s)%20%5BKLWX%20BREF%5D%3C%2Ftitle%3E%0A%20%20%20%20%3Cmeta%20charset%3D%22utf-8%22%20%2F%3E%0A%20%20%20%20%3Cmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3DISO-8859-1%22%20%2F%3E%0A%20%20%20%20%3Cmeta%20http-equiv%3D%22Content-Language%22%20content%3D%22en-us%22%20%2F%3E%0A%20%20%20%20%3Cmeta%20name%3D%22author%22%20content%3D%22Gregory%20Thompson%22%20%2F%3E%0A%20%20%20%20%3Cmeta%20name%3D%22copyright%22%20content%3D%22(c)%20Copyright%20UCAR-University%20Corporation%20for%20Atmospheric%20Research%20All%20Rights%20Reserved%22%20%2F%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22%2Fassets%2Fcss%2Freset.css%22%20%2F%3E%0A%20%20%20%20%3C!--%20Include%20the%20SciAnimator%20CSS%20--%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22%2Fassets%2Fcss%2Fscianimator.css%22%20%2F%3E%0A%3C%2Fhead%3E%0A%3Cbody%20bgcolor%3D%22%23FFFFFF%22%3E%0A%20%20%3Ch2%3ENEXRAD%20Level-II%20radar%20image(s)%20%5BKLWX%20BREF%5D%3C%2Fh2%3E%0A%20%20%3Cp%20align%3D%22left%22%3E%0A%20%20%20%20Generated%20Mon%2C%2011%20Apr%202022%20%2021%3A04%3A51%20UTC%20by%20%3Ca%20href%3D%22https%3A%2F%2Fweather.ral.ucar.edu%2Fradar%22%3Ehttps%3A%2F%2Fweather.ral.ucar.edu%2Fradar%3C%2Fa%3E%0A%20%20%20%20%3Cbr%20clear%3D%22all%22%20%2F%3E%0A%20%20Please%20wait%20for%20%3CU%3E18%3C%2FU%3E%20images%20to%20load.%3Cbr%20clear%3D%22all%22%20%2F%3E%0A%20%20%3C%2Fp%3E%0A%20%20%3Cp%20align%3D%22left%22%3E%0A%20%20%3Chr%20size%3D%224%22%20width%3D%2275%25%22%20%2F%3E%0A%3C!--%20Container%20elements%20in%20which%20SciAnimators%20will%20go%20--%3E%0A%3Cdiv%20id%3D%22scianimator%22%3E%3C%2Fdiv%3E%0A%3C!--%20Include%20jQuery%20--%3E%0A%3Cscript%20src%3D%22%2Fassets%2Fjs%2Fjquery-1.4.4.min.js%22%3E%3C%2Fscript%3E%0A%3C!--%20Include%20SciAnimator%20script.%20Choose%20your%20compression%20level.%20--%3E%0A%3Cscript%20src%3D%22%2Fassets%2Fjs%2Fjquery.scianimator.min.js%22%3E%3C%2Fscript%3E%0A%3C!--%20%3Cscript%20src%3D%22%2Fassets%2Fjs%2Fjquery.scianimator.js%22%3E%3C%2Fscript%3E%20--%3E%0A%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0A%2F*%3C!%5BCDATA%5B*%2F%0AjQuery(function(%24)%20%7B%0A%24('%23scianimator').scianimator(%7B%0A%20%20'controlPosition'%3A%200%2C%0A%20%20'images'%3A%20%5B%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_190900_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_191500_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_192200_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_192900_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_193600_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_194200_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_194900_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_195600_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_200300_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_201000_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_201600_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_202300_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_203000_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_204000_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_204500_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_204900_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_205400_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_205800_BREF_gray.png%22%5D%2C%0A%20%20'theme'%3A%20'dark'%2C%0A%20%20'delay'%3A%20250%2C%0A%20%20'delayStep'%3A%2025%2C%0A%20%20'dwellMultiplier'%3A%204%2C%0A%20%20'utf8'%3A%20false%0A%7D).scianimator('play')%3B%0A%7D)%3B%0A%2F*%5D%5D%3E*%2F%0A%3C%2Fscript%3E%0A%20%20%3C%2Fp%3E%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E`;
}
我有一些 JavaScript 代码:
var req = new XMLHttpRequest();
req.onreadystatechange = function() {
if (req.readyState === 4) {
var response = req.responseText;
console.log(response);
}
};
req.open('GET', 'https://circumvent-cors.herokuapp.com/https://weather.rap.ucar.edu/radar/displayRad.php?icao=KLWX&prod=BREF&bkgr=gray&endTime=-1&duration=2');
req.send(null);
哪个 returns 一个 HTML 页面是这样的:
<!doctype html>
<html lang="en">
<head>
<title>NEXRAD Level-II radar image(s) [KLWX BREF]</title>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Language" content="en-us" />
<meta name="author" content="Gregory Thompson" />
<meta name="copyright" content="(c) Copyright UCAR-University Corporation for Atmospheric Research All Rights Reserved" />
<link rel="stylesheet" href="/assets/css/reset.css" />
<!-- Include the SciAnimator CSS -->
<link rel="stylesheet" href="/assets/css/scianimator.css" />
</head>
<body bgcolor="#FFFFFF">
<h2>NEXRAD Level-II radar image(s) [KLWX BREF]</h2>
<p align="left">
Generated Mon, 11 Apr 2022 21:04:51 UTC by <a href="https://weather.ral.ucar.edu/radar">https://weather.ral.ucar.edu/radar</a>
<br clear="all" />
Please wait for <U>18</U> images to load.<br clear="all" />
</p>
<p align="left">
<hr size="4" width="75%" />
<!-- Container elements in which SciAnimators will go -->
<div id="scianimator"></div>
<!-- Include jQuery -->
<script src="/assets/js/jquery-1.4.4.min.js"></script>
<!-- Include SciAnimator script. Choose your compression level. -->
<script src="/assets/js/jquery.scianimator.min.js"></script>
<!-- <script src="/assets/js/jquery.scianimator.js"></script> -->
<script type="text/javascript">
/*<![CDATA[*/
jQuery(function($) {
$('#scianimator').scianimator({
'controlPosition': 0,
'images': ["../data/radar/20220411/KLWX/BREF/KLWX_20220411_190900_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_191500_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_192200_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_192900_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_193600_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_194200_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_194900_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_195600_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_200300_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_201000_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_201600_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_202300_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_203000_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_204000_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_204500_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_204900_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_205400_BREF_gray.png","../data/radar/20220411/KLWX/BREF/KLWX_20220411_205800_BREF_gray.png"],
'theme': 'dark',
'delay': 250,
'delayStep': 25,
'dwellMultiplier': 4,
'utf8': false
}).scianimator('play');
});
/*]]>*/
</script>
</p>
</body>
</html>
我的问题是:我如何能够解析该响应,以从显示的响应中获取 images 数组? images
数组在 $('#scianimator').scianimator({
下。我想采用该数组并能够将其与 scianimator
一起使用,但我自己可以做到。
我只想知道如何从响应中提取该数组以备后用。
如果我理解正确的话, 数据不包含在浏览器发送的 html 中; 相反,html 包含一些在浏览器呈现数据时获取数据的 js。
我会说你有两个选择:
沉重的(但坚固)- 使用像
Puppeteer
这样的库来自动浏览器访问这个 url 并在那里执行querySelector
。轻型(比您想象的更有效)- 访问您的 link,打开 chrome 的网络面板,搜索页面发送的请求以获取实际数据。这可能是一个简单的 POST 请求
您可以使用正则表达式来提取数据
var req = new XMLHttpRequest();
req.onreadystatechange = function() {
if (req.readyState === 4) {
var response = req.responseText;
var matches = response.match(/'images':\s*(\[.+?\])/);
if (matches){
img_arr = JSON.parse(matches[1]);
console.log(img_arr);
}
else{
console.log(':(');
}
}
};
req.open('GET', getURL());
req.send(null);
function getURL(){
return 'https://circumvent-cors.herokuapp.com/https://weather.rap.ucar.edu/radar/displayRad.php?icao=KLWX&prod=BREF&bkgr=gray&endTime=-1&duration=2';
//return `data:text/html,%3C!doctype%20html%3E%0A%3Chtml%20lang%3D%22en%22%3E%0A%3Chead%3E%0A%20%20%20%20%3Ctitle%3ENEXRAD%20Level-II%20radar%20image(s)%20%5BKLWX%20BREF%5D%3C%2Ftitle%3E%0A%20%20%20%20%3Cmeta%20charset%3D%22utf-8%22%20%2F%3E%0A%20%20%20%20%3Cmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3DISO-8859-1%22%20%2F%3E%0A%20%20%20%20%3Cmeta%20http-equiv%3D%22Content-Language%22%20content%3D%22en-us%22%20%2F%3E%0A%20%20%20%20%3Cmeta%20name%3D%22author%22%20content%3D%22Gregory%20Thompson%22%20%2F%3E%0A%20%20%20%20%3Cmeta%20name%3D%22copyright%22%20content%3D%22(c)%20Copyright%20UCAR-University%20Corporation%20for%20Atmospheric%20Research%20All%20Rights%20Reserved%22%20%2F%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22%2Fassets%2Fcss%2Freset.css%22%20%2F%3E%0A%20%20%20%20%3C!--%20Include%20the%20SciAnimator%20CSS%20--%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22%2Fassets%2Fcss%2Fscianimator.css%22%20%2F%3E%0A%3C%2Fhead%3E%0A%3Cbody%20bgcolor%3D%22%23FFFFFF%22%3E%0A%20%20%3Ch2%3ENEXRAD%20Level-II%20radar%20image(s)%20%5BKLWX%20BREF%5D%3C%2Fh2%3E%0A%20%20%3Cp%20align%3D%22left%22%3E%0A%20%20%20%20Generated%20Mon%2C%2011%20Apr%202022%20%2021%3A04%3A51%20UTC%20by%20%3Ca%20href%3D%22https%3A%2F%2Fweather.ral.ucar.edu%2Fradar%22%3Ehttps%3A%2F%2Fweather.ral.ucar.edu%2Fradar%3C%2Fa%3E%0A%20%20%20%20%3Cbr%20clear%3D%22all%22%20%2F%3E%0A%20%20Please%20wait%20for%20%3CU%3E18%3C%2FU%3E%20images%20to%20load.%3Cbr%20clear%3D%22all%22%20%2F%3E%0A%20%20%3C%2Fp%3E%0A%20%20%3Cp%20align%3D%22left%22%3E%0A%20%20%3Chr%20size%3D%224%22%20width%3D%2275%25%22%20%2F%3E%0A%3C!--%20Container%20elements%20in%20which%20SciAnimators%20will%20go%20--%3E%0A%3Cdiv%20id%3D%22scianimator%22%3E%3C%2Fdiv%3E%0A%3C!--%20Include%20jQuery%20--%3E%0A%3Cscript%20src%3D%22%2Fassets%2Fjs%2Fjquery-1.4.4.min.js%22%3E%3C%2Fscript%3E%0A%3C!--%20Include%20SciAnimator%20script.%20Choose%20your%20compression%20level.%20--%3E%0A%3Cscript%20src%3D%22%2Fassets%2Fjs%2Fjquery.scianimator.min.js%22%3E%3C%2Fscript%3E%0A%3C!--%20%3Cscript%20src%3D%22%2Fassets%2Fjs%2Fjquery.scianimator.js%22%3E%3C%2Fscript%3E%20--%3E%0A%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0A%2F*%3C!%5BCDATA%5B*%2F%0AjQuery(function(%24)%20%7B%0A%24('%23scianimator').scianimator(%7B%0A%20%20'controlPosition'%3A%200%2C%0A%20%20'images'%3A%20%5B%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_190900_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_191500_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_192200_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_192900_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_193600_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_194200_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_194900_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_195600_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_200300_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_201000_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_201600_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_202300_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_203000_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_204000_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_204500_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_204900_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_205400_BREF_gray.png%22%2C%22..%2Fdata%2Fradar%2F20220411%2FKLWX%2FBREF%2FKLWX_20220411_205800_BREF_gray.png%22%5D%2C%0A%20%20'theme'%3A%20'dark'%2C%0A%20%20'delay'%3A%20250%2C%0A%20%20'delayStep'%3A%2025%2C%0A%20%20'dwellMultiplier'%3A%204%2C%0A%20%20'utf8'%3A%20false%0A%7D).scianimator('play')%3B%0A%7D)%3B%0A%2F*%5D%5D%3E*%2F%0A%3C%2Fscript%3E%0A%20%20%3C%2Fp%3E%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E`;
}