【问题标题】:Way to parse jsbin output html document for content within 'javascript' field解析“javascript”字段中内容的jsbin输出html文档的方法
【发布时间】:2016-08-18 00:51:00
【问题描述】:

我在这里有一个 jsbin https://jsbin.com/wanegavisa/edit?html,js,console,我正在尝试使用 nodejs 下载输出 html https://output.jsbin.com/wanegavisa 并解析出 jsbin 编辑器中 javascript 选项卡中的内容。我打算使用像cheerio 这样的dom 解析器并在body 中获取第一个<script> 标记。我刚刚看到可以将脚本标签直接添加到正文中。

如何解析这样的文档才能得到包含

的字符串
console.log('hi')

我可以从具有 src 的脚本中选择脚本兄弟,该 src 等于此 url https://static.jsbin.com/js/render/edit.js。但是,如果那个 url 改变了,那我就不走运了。

<!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>

【问题讨论】:

标签: javascript html parsing dom


【解决方案1】:

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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    相关资源
    最近更新 更多