如何使用jQuery和XPath抓取网页?

dan*_*007 4 javascript jquery xpath web-scraping

我可以通过Firebug将jQuery javascript链接粘贴在网页的标题中.然后,我可以运行一个脚本来抓取它和它链接到的页面.

我如何开始在jQuery或javascript中编写此脚本?是否有jQuery/Javascript中的接口,我可以使用XPath访问页面上的元素(以及链接到的页面)?

JP *_*son 5

首先,您需要在浏览器之外使用JavaScript运行时.最常见的是Node.js. 接下来,您需要一种方法来创建DOM客户端.这通常使用jsdom完成.

所以,你的脚本应该:

  1. 下载html页面(jsdom为你做这个,但你可以使用请求)
  2. 创建一个客户端DOM
  3. 使用jQuery解析

以下是Node.js脚本示例:

var jsdom = require("jsdom");

jsdom.env("http://nodejs.org/dist/", [
    'http://code.jquery.com/jquery-1.5.min.js'
  ], function(errors, window) {
  console.log("there have been", window.$("a").length, "nodejs releases!");
});
Run Code Online (Sandbox Code Playgroud)

你会运行它,如下所示:

$ node scrape.js
Run Code Online (Sandbox Code Playgroud)

别忘了先安装jsdom:

$ npm install --production jsdom
Run Code Online (Sandbox Code Playgroud)