javascript - CasperJS,使用javascript禁用来抓取目标页面中的内容

标签 javascript web-scraping casperjs

我想从我的网站页面获取所有图像的属性“src”的内容。 我可以用这个简单的代码来做到这一点:

var x = require('casper').selectXPath;

var casper = require('casper').create({
        verbose: true,
        logLevel: "debug",
});

casper.start('http://mylocalwebsite.com', function() {
        var urls = casper.getElementsAttribute(x('//img'), 'src'); // "Google"
        console.log(urls); // urls are displayed in my shell
});

casper.run();

但是,我想在使用脚本时禁用 javascript,我通过以下方式修改了初始代码:

var x = require('casper').selectXPath;

var casper = require('casper').create({
        verbose: true,
        logLevel: "debug",
        pageSettings: {
          javascriptEnabled: false,
        },
});


casper.start('http://mylocalwebsite.com', function() {
        var urls = casper.getElementsAttribute(x('//img'), 'src'); // "Google"
        console.log(urls); // this log doesn't appears from my shell
});

casper.run();

(属性“javascriptEnabled”设置为 false)

但是如果我这样做,我的脚本将在 getElementsAttribute 行之后停止工作。

我明白这一点,当我禁用 javascript 时,我无法使用 casperjs 选择器。这样对吗 ?无法在我的页面中禁用 javascript 和 scrape 元素吗?

有没有办法从禁用 javascript 的脚本中获取所有图像的 src 内容属性?

谢谢!

最佳答案

您可以通过取消此类请求来阻止网站的所有js运行:

var casper = require('casper').create({
  verbose: true,
  logLevel: "debug",
});

casper.on('resource.requested', function(requestData, request){
  if (/\.js/.test(requestData.url)) {
    casper.log("skipped " + requestData.url);
    return request.cancel();
  }
});

并保持 casper 启用 js。

js文件的URL中可能没有.js后缀,如果不需要资源文件,也可以取消所有资源请求。

关于javascript - CasperJS,使用javascript禁用来抓取目标页面中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42316359/

相关文章:

javascript - Power bi Web 报告全屏显示

javascript - 使用nodejs和mysql进行抓取时如何避免插入数据库时​​的冗余

python - Casper Python 脚本失败,错误代码为 `/usr/bin/python`,但不是 `python`

javascript - casperjs评估函数无法返回我需要的数据

linux - 运行多个 casperjs 实例的推荐环境是什么?

javascript - 如何使用 JSON 数据同时更新多个标记位置?传单 JS

javascript - 如何将对数刻度应用于 Google Materials 条形图的轴

javascript - 使用 Sharepoint 查询字符串值作为应用程序部分属性

python - 使用 python 与本地 HTML 文件交互

python-3.x - 网页抓取 : My first project and no idea where to start