我在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/

10-12 12:25
查看更多