想问一下关于爬取Jsonp数据格式的问题

weixinprogramming 2014-11-02 09:51:09
想访问这样的URL:productpage/p-11502853-s-0-t-3-p-0.html?callback=jsonp1414891982361&_=1414892038048页面应该是产品评论信息,但是直接打开这个url,页面为空,貌似是失效了,每次jsonp=?这个编号都不一样,请问怎么访问获取这些评论呢?
这个url对应的网页中的信息格式应该是如下:
jsonp1414891982361({"productAttr":null,"productCommentSummary":{"beginRowNumber":0,"endRowNumber":0,"skuId":11502853,"productId":11502853,"score1Count":29,"score2Count":27,"score3Count":105,"score4Count":245,"score5Count":3042,"showCount":165,"commentCount":3448,"averageScore":5,"goodCount":3287,"goodRate":0.954,"goodRateShow":95,"goodRateStyle":143,"generalCount":132,"generalRate":0.038,"generalRateShow":4,"generalRateStyle":6,"poorCount":29,"poorRate":0.0080,"poorRateShow":1,"poorRateStyle":1},"hotCommentTagStatistics":[{"id":336413,"name":"京东正版","status":0,"rid":25533,"productId":11502853,"count":1875,"created":"2014-07-24 16:58:01","modified":"2014-11-02 00:15:44"},{"id":336414,"name":"热卖畅销","status":0,"rid":25534,"productId":11502853,"count":1017,"created":"2014-07-24 16:58:02","modified":"2014-11-01 19:10:19"},{"id":336415,"name":"读者推荐","status":0,"rid":25536,"productId":11502853,"count":410,"created":"2014-07-24 16:58:02","modified":"2014-11-02 01:57:06"},{"id":336468,"name":"好评最多","status":0,"rid":25535,"productId":11502853,"count":287,"created":"2014-07-24 17:23:20","modified":"2014-11-02 01:57:06"}],"score":0,"comments":[{"id":462452678,"guid":"0463d5be-924d-4c72-a46b-4581bf52dd7a","content":"没想到都是电影相关的东西 不喜欢!","creationTime":"2014-11-02 07:28:16","isTop":false,"referenceId":"11502853","referenceImage":"jfs/t280/165/1668713164/271841/4459bc11/543f5368N9681cdad.jpg","referenceName":"韩寒:告白与告别","referenceTime":"2014-11-01 07:42:10","referenceType":"Product","referenceTypeId":0,"firstCategory":1713,"secondCategory":3259,"thirdCategory":3333,"replyCount":0,"score":5,"status":1,"usefulVoteCount":0,"uselessVoteCount":0,"pin":"vitas8787","userImage":"misc.360buyimg.com/lib/img/u/b62.gif","userImageUrl":"misc.360buyimg.com/lib/img/u/b62.gif","userIp":"172.22.130.23","userLevelId":"62","userProvince":"北京","viewCount":0,"orderId":4457205380,"isReplyGrade":false,"uid":8494245,"nickname":"行者8787","userClient":4,"productColor":"","productSize":"","integral":0,"userLevelName":"金牌会员","userLevelColor":"#088000","recommend":false,"userClientShow":"<a href='http://app.jd.com/android.html' target='_blank'>来自京东Android客户端</a>","isMobile":true},{"id":462432245,"guid":"dfacbd4b-2a8c-45bf-a8f6-da854c4e0260","content":"挺不错的书,还在看,再说~","creationTime":"2014-11-02 01:56:48","isTop":false,"referenceId":"11502853","referenceImage":"jfs/t280/165/1668713164/271841/4459bc11/543f5368N9681cdad.jpg","referenceName":"韩寒:告白与告别","referenceTime":"2014-10-21 16:09:08","referenceType":"Product","referenceTypeId":0,"firstCategory":1713,"secondCategory":3259,"thirdCategory":3333,"replyCount":0,"score":5,"status":1,"title":"挺不错的书,还在看,再说~"
...全文
677 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixinprogramming 2014-11-20
  • 打赏
  • 举报
回复
引用 12 楼 slwsss 的回复:
[quote=引用 11 楼 weixinprogramming 的回复:]
用程序访问,访问时加上Header[/quote] 给个QQ号详细说一下可以吗?
weixinprogramming 2014-11-20
  • 打赏
  • 举报
回复
引用 12 楼 slwsss 的回复:
[quote=引用 11 楼 weixinprogramming 的回复:]
用程序访问,访问时加上Header[/quote] 现在可以通过这个地址访问到评论页面: http://s.club.jd.com/productpage/p-1178322-s-0-t-3-p-1.html?callback=CommentListNew.setData p-1表示第二页评论,但是如果任意取一页,比如p-5还是返回空值 你说的Header里面的key和value参数要写什么内容啊?
weixinprogramming 2014-11-16
  • 打赏
  • 举报
回复
引用 10 楼 slwsss 的回复:
[quote=引用 9 楼 weixinprogramming 的回复:] [quote=引用 8 楼 slwsss 的回复:] [quote=引用 7 楼 weixinprogramming 的回复:] [quote=引用 6 楼 slwsss 的回复:] [quote=引用 5 楼 weixinprogramming 的回复:] [quote=引用 3 楼 slwsss 的回复:] 页面为空可能在header上做处理了,模拟他们的网站试下 callback 这个是用来回调的
请问具体怎么去模拟他们网站呢?[/quote] http://blog.163.com/yujiang713@126/blog/static/12016391201052910473472/[/quote] 我用的是C#或者Java语言啊,这上面只有C#.NET。。。[/quote] java DefaultHttpClient d = new DefaultHttpClient(); post1.addHeader(key,value);[/quote] 试了一下,还是不行啊,jsonp=***这个值貌似是随机分配的,过一段时间后就不能访问了[/quote] callback这个参数的值你随机生成一个传过去就行了,接下来就是解析字符串,仔细分析[/quote] 这个方法应该不行的,我就在浏览器上随机填一个callback参数的值,就是“jsonp145643543”这样的,然后就返回空页面了
slwsss 2014-11-16
  • 打赏
  • 举报
回复
引用 11 楼 weixinprogramming 的回复:
用程序访问,访问时加上Header
slwsss 2014-11-14
  • 打赏
  • 举报
回复
引用 9 楼 weixinprogramming 的回复:
[quote=引用 8 楼 slwsss 的回复:] [quote=引用 7 楼 weixinprogramming 的回复:] [quote=引用 6 楼 slwsss 的回复:] [quote=引用 5 楼 weixinprogramming 的回复:] [quote=引用 3 楼 slwsss 的回复:] 页面为空可能在header上做处理了,模拟他们的网站试下 callback 这个是用来回调的
请问具体怎么去模拟他们网站呢?[/quote] http://blog.163.com/yujiang713@126/blog/static/12016391201052910473472/[/quote] 我用的是C#或者Java语言啊,这上面只有C#.NET。。。[/quote] java DefaultHttpClient d = new DefaultHttpClient(); post1.addHeader(key,value);[/quote] 试了一下,还是不行啊,jsonp=***这个值貌似是随机分配的,过一段时间后就不能访问了[/quote] callback这个参数的值你随机生成一个传过去就行了,接下来就是解析字符串,仔细分析
weixinprogramming 2014-11-14
  • 打赏
  • 举报
回复
引用 8 楼 slwsss 的回复:
[quote=引用 7 楼 weixinprogramming 的回复:] [quote=引用 6 楼 slwsss 的回复:] [quote=引用 5 楼 weixinprogramming 的回复:] [quote=引用 3 楼 slwsss 的回复:] 页面为空可能在header上做处理了,模拟他们的网站试下 callback 这个是用来回调的
请问具体怎么去模拟他们网站呢?[/quote] http://blog.163.com/yujiang713@126/blog/static/12016391201052910473472/[/quote] 我用的是C#或者Java语言啊,这上面只有C#.NET。。。[/quote] java DefaultHttpClient d = new DefaultHttpClient(); post1.addHeader(key,value);[/quote] 试了一下,还是不行啊,jsonp=***这个值貌似是随机分配的,过一段时间后就不能访问了
slwsss 2014-11-12
  • 打赏
  • 举报
回复
引用 7 楼 weixinprogramming 的回复:
[quote=引用 6 楼 slwsss 的回复:] [quote=引用 5 楼 weixinprogramming 的回复:] [quote=引用 3 楼 slwsss 的回复:] 页面为空可能在header上做处理了,模拟他们的网站试下 callback 这个是用来回调的
请问具体怎么去模拟他们网站呢?[/quote] http://blog.163.com/yujiang713@126/blog/static/12016391201052910473472/[/quote] 我用的是C#或者Java语言啊,这上面只有C#.NET。。。[/quote] java DefaultHttpClient d = new DefaultHttpClient(); post1.addHeader(key,value);
weixinprogramming 2014-11-12
  • 打赏
  • 举报
回复
引用 6 楼 slwsss 的回复:
[quote=引用 5 楼 weixinprogramming 的回复:] [quote=引用 3 楼 slwsss 的回复:] 页面为空可能在header上做处理了,模拟他们的网站试下 callback 这个是用来回调的
请问具体怎么去模拟他们网站呢?[/quote] http://blog.163.com/yujiang713@126/blog/static/12016391201052910473472/[/quote] 我用的是C#或者Java语言啊,这上面只有C#.NET。。。
slwsss 2014-11-03
  • 打赏
  • 举报
回复
引用 5 楼 weixinprogramming 的回复:
[quote=引用 3 楼 slwsss 的回复:] 页面为空可能在header上做处理了,模拟他们的网站试下 callback 这个是用来回调的
请问具体怎么去模拟他们网站呢?[/quote] http://blog.163.com/yujiang713@126/blog/static/12016391201052910473472/
weixinprogramming 2014-11-03
  • 打赏
  • 举报
回复
引用 3 楼 slwsss 的回复:
页面为空可能在header上做处理了,模拟他们的网站试下 callback 这个是用来回调的
请问具体怎么去模拟他们网站呢?
weixinprogramming 2014-11-03
  • 打赏
  • 举报
回复
引用 3 楼 slwsss 的回复:
页面为空可能在header上做处理了,模拟他们的网站试下 callback 这个是用来回调的
请问具体怎么去模拟他们网站呢?
似梦飞花 2014-11-02
  • 打赏
  • 举报
回复
自动生成的一个回调函数名 你随便起试试
slwsss 2014-11-02
  • 打赏
  • 举报
回复
页面为空可能在header上做处理了,模拟他们的网站试下 callback 这个是用来回调的
weixinprogramming 2014-11-02
  • 打赏
  • 举报
回复
引用 1 楼 zzgzzg00 的回复:
自动生成的一个回调函数名 你随便起试试
随便起?具体怎么弄啊?

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧