想爬我买网的售价,请教方案
发布于 3 个月前 作者 CarlosRen 843 次浏览 来自 问答

作为一个处女座,每次买东西我都要去好几个网站上比较,然后下单,觉得太耗时间,想每次购买前先把数据爬一边,然后几个网站上计算一下平均值和低于平均值得商品。

第一个目标是丑的要命的我买网,长得这么丑应该不会太牛逼,用superagent能拿到页面,但是没法运行js获得数据,价格倒是在页面下方的js里有相关字段,但是cheerio是处理dom的,没法折腾js,求大神思路

untitled1.png

6 回复

正则获取 rtTag后面的数据,nodejs中,自动辨别为 json数据,然后 直接 点出属性即可

同楼上~

  1. 找出那个script标签的 innerText
  2. 找到 var rtTag = { 这个左大括号的 index
  3. 找出右大括号的 index, slice得到 json

这个匹配右大括号,可以看这个 https://github.com/magicdawn/node-huaban/blob/v1.1.0/lib%2Futil.js#L26-L55 huaban.com 的数据也是这样放在 html源码中的, 也是这种方式取的。

我这个也是爬虫,可以参考: Ponitor——https://cnodejs.org/topic/56fbfbdd93a6967159553a58

这种嘛。。其实你代码写得丑一点无所谓的。。。不要进phantomjs这个坑,如 @tanshanli @magicdawn 所说,正则出来那个 json,然后用就好了。。。你网站跑一段时间,看看出不出问题。按我看,出不了问题。

好像也可以直接正则匹配吧?感觉可行

回到顶部