casperjs页面抓取问题

本文介绍如何使用CasperJS进行网页抓取,并重点讲解了利用waitForSelector接口确保页面完全加载后再进行截图的方法,同时提供了获取元素完整HTML内容的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

抓取页面

casperjs抓起页面用capture接口,但是你要是start之后马上抓的话,对一些还有后续ajax请求的页面是抓不全的,也就是部分页面会显示正在加载。所以比较低级的解决办法是wait一定的事件后再抓取。但是这个办法显然不够灵活。所以,最好是等待某个元素,当元素出现时调用capture,所以建议使用waitForSelector接口来完成该功能。

获取元素内容

在jquery里如果通过选择器找到一个元素后,调通用html()接口,得到的数据是节点的内容数据,关于这点,可以访问jquery的官网查看,但是有时候,你可能需要的是这个元素包含标签部分的数据,这时 casperjs提供的getHTML很好用。当然为了一致性,默认调用时获取到的是内容数据,但是如果设置第二个参数设置为true,就可以拿到整个节点的数据。具体还是看官方文档

casper.start('http://www.site.tld/', function() {
    this.echo(this.getHTML('h1#foobar', true)); 
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值