爬虫技术中,页面中含有大量ajax请求的页面要怎么处理?
发布于 10 年前 作者 think2011 16289 次浏览 最后一次编辑是 8 年前 来自 问答

例如angular.js开发的站点,静态页面中的数据只是一些 {{}} 这样的字符,只有经过ajax请求并渲染后才有真实的数据。

这种情况该如何处理?

14 回复

你好像搞错了吧…{{}}是放在模板里的, ajax的请求回来就是数据。然后才用数据替换掉{{}}的定义(这是angularjs做的事情)。

关键就是要让爬虫可以执行 js。这个问题我也没有很好解…不如直接去爬 ajax 接口?

我是直接访问那个Ajax接口拿数据的。

用firebug测试ajax接口参数,爬虫时模拟ajax

@alsotang 可以用Greasemonkey写脚本在页面上自动点击, 但是这要把抓取的页面传递到浏览器,ajax获取的数据再传到后台,爬虫有点像代理

话说正确姿势是直接爬接口吧

爬接口,省时省电。。

显然直接爬接口

真希望有一种可以直接模拟浏览器行为的爬虫技术。

@andyhu 我去,用phantomjs? 他处理每个搜索引擎的请求都是创建一个新的对象 不但耗费cpu还有内存。而且还不稳定,严重 情况下能让你的app直接crash。 你用过?你推荐这个?

@struCoder 模拟浏览器的话,不用这个有其他可行的解决方案吗?

angularjs 对百度的seo有人做过么?

回到顶部