如何刮取.aspx网站

时间:2014-05-05 06:31:35

标签: web-scraping casperjs

我试图刮伤:http://search.bgc-group.com/Default.aspx

当我运行代码时,我总是收到第一页。

我的代码:

var casper = require('casper').create({
        verbose: true,
        logLevel: "debug",
        type: 'xpath',
    });
casper.start('http://search.bgc-group.com/Default.aspx');

casper.thenOpen('http://search.bgc-group.com/Default.aspx', {
    method: 'post',
    data:   {
        '__EVENTARGUMENT': 'Page$4',
        '__EVENTTARGET':  'ctl00$body$ctlJobListing1$gvJobListing',
        '__EVENTVALIDATION':  '',
        '__PREVIOUSPAGE':  '',
        '__VIEWSTATE':  ''
    }
});

casper.then(function() {
    this.echo('POSTED it.');
    this.capture("test.png")
});

casper.run();

我没有在实际代码中将__EVENTVALIDATION__PREVIOUSPAGE__VIEWSTATE字段留空。刚跳过这里,因为它们很长。

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作,而不是casper.thenOpen阻止:

var x = require('casper').selectXPath;
casper.thenClick("a[href*='Page$4']");
casper.waitForSelector(x("//td/span[text()='4']")); // might be unnecessary