我在https://jsbin.com/wanegavisa/edit?html,js,console中有一个jsbin,我正尝试使用nodejs下载html https://output.jsbin.com/wanegavisa的输出,并解析jsbin编辑器中javascript
选项卡中的内容。我打算使用像cheerio这样的dom解析器,并在<script>
中获得第一个body
标记。我刚刚看到可以将脚本标签直接添加到正文中。
我如何解析这样的文档可以获取包含以下内容的字符串
console.log('hi')
我可以从src等于该URL
https://static.jsbin.com/js/render/edit.js
的脚本中选择脚本同级。但是,如果该网址发生变化,那我就不走运了。<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<meta charset="utf-8">
<!--
Created using JS Bin
http://jsbin.com
Copyright (c) 2016 by anonymous (http://jsbin.com/wanegavisa/2/edit)
Released under the MIT license: http://jsbin.mit-license.org
-->
<meta name="robots" content="noindex">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script>console.log('meow')</script>
<script>
console.log('hi')
</script>
<script src="https://static.jsbin.com/js/render/edit.js?3.35.12"></script>
<script>jsbinShowEdit && jsbinShowEdit({"static":"https://static.jsbin.com","root":"https://jsbin.com"});</script>
<script src="https://static.jsbin.com/js/vendor/eventsource.js?3.35.12"></script>
<script src="https://static.jsbin.com/js/spike.js?3.35.12"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-1656750-34', 'jsbin.com');
ga('require', 'linkid', 'linkid.js');
ga('require', 'displayfeatures');
ga('send', 'pageview');
</script>
</body>
</html>
最佳答案
jsbin有一个api! :)
https://jsbin.com/api/wanegavisa
{
"javascript": "console.log('hi')",
"html": "<!DOCTYPE html>\n<html>\n<head>\n<script src=\"https://code.jquery.com/jquery-1.9.1.js\"></script>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width\">\n <title>JS Bin</title>\n</head>\n<body>\n\n <script>console.log('meow')</script>\n \n</body>\n</html>",
"css": "",
"settings": {
"processors": {
"html": "html",
"css": "css",
"javascript": "javascript"
},
"title": "JS Bin"
},
"last_updated": "2012-07-23T00:00:00.000Z",
"url": "wanegavisa",
"snapshot": 2
}
关于javascript - 解析jsbin输出html文档以获取'javascript'字段中内容的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36826873/