从没有API的网站获取数据/创建API

时间:2017-05-12 19:36:36

标签: javascript html node.js api web-scraping

我需要从Website获取一些数据(用户将更改)。然而,Overwatch Stats没有“好”的API。是否可以在Javascript(使用Node.js)中通过HTML标记或排序获取此数据?

例如,这是源代码中的一行:

<span class="summary-hero-name">McCree</span>

页面上显示的3个英雄每个都有summary-hero-name类,有没有办法引用这些数据?

3 个答案:

答案 0 :(得分:1)

所以我想出来了,应该做更多的研究。我使用名为scrape-it的节点包完成了此操作。

<scrape-it>("https://masteroverwatch.com/profile/pc/us/calvin-1337", {
  title: "span.summary-hero-name"
}).then(page => {
  console.log(page); // {title: 'McreeWidowmakerBastion' }
});

答案 1 :(得分:0)

我相信this post会有所帮助。我想用AJAX来发出这样的请求:...

<html>
<head>
<script type="text/javascript">
function go(){

var xhr = new XMLHttpRequest();

xhr.open("GET", "https://masteroverwatch.com/profile/pc/us/calvin-1337", false);
xhr.onreadystatechange = function(){

  if (xhr.readyState == 4) 
  {
    document.write(xhr.responseText);
  }
  else
  {
    document.write("nope");
  }
}

xhr.send();}

</script>
</head>
<body onload="go()">

</body>
</html>

通常情况下,如果它位于同一个域上,这会有效,但是,我得到了错误:“请求的资源上没有'Access-Control-Allow-Origin'标头。因此不允许来源'null' ”。这显然是一个安全功能。看起来像跨源资源共享(CORS)是要走的路。祝你好运。

答案 2 :(得分:0)