【问题标题】:XMLHttpRequest to scrape data from websitesXMLHttpRequest 从网站抓取数据
【发布时间】:2018-07-01 13:31:28
【问题描述】:

您好,我希望有人可以帮助我使此代码正常工作我正在尝试制作一个可以从按钮启动的网络爬虫脚本。在论坛上搜索了几个小时,到目前为止,我想出了这个:

function GetData()  {
  Var URL = "http://www.livescore.cz/"
  var XMLReq = new XMLHttpRequest();

  XMLReq.open( "GET", "https://edition.cnn.com/", false )
  XMLReq.send();

  XMLReq.onreadystatechange = function() {
    if(XMLReq.readyState == 4 && XMLReq.status == 200) {
      alert(XMLReq.responseText);
    }
  }
}

但我想我大部分都做错了什么。任何帮助将不胜感激

弗雷德里克

【问题讨论】:

  • XMLReq.send(); 应该在XMLReq.onreadystatechange 部分之后...
  • 我一眼就能发现三件事会导致它失败……其中两件事会在浏览器的开发人员工具的控制台中显示非常明显的错误消息。打开控制台。阅读错误消息。
  • 你在哪里我没想过在那里检查。下次我会记住这一点。

标签: html web-scraping xmlhttprequest


【解决方案1】:

您需要在事件触发之前添加事件监听器。

function GetData()  {
  var XMLReq = new XMLHttpRequest();

  XMLReq.open( "GET", "https://edition.cnn.com/", false )


  XMLReq.onreadystatechange = function() {
    if(XMLReq.readyState == 4 && XMLReq.status == 200) {
      alert(XMLReq.responseText);
    }
  }

  XMLReq.send();
}

document.querySelector("#getDataBtn").addEventListener('click', GetData);
<button id="getDataBtn">Get Data</button>

【讨论】:

  • 好的,谢谢您的回复,您发布的网页有点搞笑。在我的示例中将使用相同的,但最后我决定使用我实际上要尝试刮擦的那个..
  • 我刚刚选择了你的代码并修复了它,这就是为什么看起来一样。 :)
  • 非常感谢。只是希望你不介意一个快速跟进的问题。我怎么会从一个按钮吃这个,?现在网页打开时代码被触发的方式
  • 非常感谢再次
猜你喜欢
  • 2014-07-06
  • 1970-01-01
  • 1970-01-01
  • 2013-03-14
  • 2016-11-28
  • 2013-05-21
  • 1970-01-01
相关资源
最近更新 更多