想爬我买网的售价,请教方案
作为一个处女座,每次买东西我都要去好几个网站上比较,然后下单,觉得太耗时间,想每次购买前先把数据爬一边,然后几个网站上计算一下平均值和低于平均值得商品。
第一个目标是丑的要命的我买网,长得这么丑应该不会太牛逼,用superagent能拿到页面,但是没法运行js获得数据,价格倒是在页面下方的js里有相关字段,但是cheerio是处理dom的,没法折腾js,求大神思路
6 回复
同楼上~
- 找出那个script标签的 innerText
- 找到
var rtTag = {
这个左大括号的 index - 找出右大括号的 index, slice得到 json
这个匹配右大括号,可以看这个 https://github.com/magicdawn/node-huaban/blob/v1.1.0/lib%2Futil.js#L26-L55 huaban.com 的数据也是这样放在 html源码中的, 也是这种方式取的。
这种嘛。。其实你代码写得丑一点无所谓的。。。不要进phantomjs这个坑,如 @tanshanli @magicdawn 所说,正则出来那个 json,然后用就好了。。。你网站跑一段时间,看看出不出问题。按我看,出不了问题。