【问题标题】:How do I extract data from a website using javascript.如何使用 javascript 从网站中提取数据。
【发布时间】:2013-10-04 13:02:45
【问题描述】:

您好,这里是新手,请多多包涵。似乎是一项简单的工作,但我似乎无法找到一种简单的方法来做到这一点。

所以我需要从网页“www.example.com/index.php”中提取特定文本。我知道文本将在具有特定 id 的 p 标签中可用。如何使用 javascript 提取这些数据?

我目前正在尝试的是我的计算机上有我的 javascript 文件 (trying.js),其中包含以下代码:

$(document).ready(function () {
    $.get("www.example.com/index.php", function(data) {
        console.log(data)
    }) ;
});

和一个运行 javascript 文件的 html。

当我用 firefox 打开这个 html 页面时,它并没有在控制台中显示任何内容。我如何获取网站的数据?我在正确的轨道上吗?有没有更好的方法来做到这一点?

【问题讨论】:

  • 你不能,javascript有同源策略,所以除了支持JSONP或CORS的同域或服务之外,你无权访问其他网站。
  • 您需要编写一个应用程序,可能使用SeleniumWatin 浏览器自动化或我最喜欢的新CSQuery(它只有对DOM 的读取权限,但在CSharp 中使用JQuery 样式过滤器,真的快)。
  • @adeneo 客户端 javascript 就是这种情况,JavaScript 运行在许多不同的地方,例如 node.js 没有浏览器访问策略限制。
  • @balupton - 我有点假设它是客户端,因为 OP 专门使用 jQuery 和 Firefox,但我可能错了。

标签: javascript jquery web-crawler


【解决方案1】:

您正在寻找的是页面抓取工具。 Javascript 无法成功,因为它只能从您所在的域收集数据。

例如,您可以在 Ruby 中构建它,并使用众多现有 gem 之一来完成此类任务,例如 https://github.com/assaf/scrapihttp://nokogiri.org/

【讨论】:

    【解决方案2】:

    请看Can Javascript read the source of any web page?

    讨论了多种方法。希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2016-02-27
      • 2011-01-03
      • 1970-01-01
      • 2022-06-16
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多