我正在尝试使用casper抓取一个网站,当一个页面加载时,我看到有很多isMainFrame = false
的导航请求。我想这些都是广告。详细日志中的示例 -
[debug] [phantom] Navigation requested: url=https://static.licdn.com/scds/common/u/lib/inject/0.4.2/relay.html?swf=https://static.licdn.com/scds/common/u/lib/inject/0.4.2/relay.swf&xdm_e=https://www.linkedin.com&xdm_c=default3784&xdm_p=1, type=Other, willNavigate=true, isMainFrame=false
这实际上减慢了脚本速度,我不希望casper花时间获取/导航到这些URL。
要停止这些,我想我必须抓住事件navigation.requested
并将其停在那里。但我不知道如何停止导航。
我想我必须做这样的事情 -
casper.on 'navigation.requested', (url, navigationType, navigationLocked, isMainFrame) ->
if not isMainFrame
//stop this navigation
else
//proceed normally
知道我该怎么办?
答案 0 :(得分:0)
有同样的问题。探索了消息来源。
看起来如果没有修补,你现在就无法做到。
可以做的是在hosts
文件中添加一个条目,以便此请求完成得非常快。