首页 > 语言 > JavaScript > 正文

nodejs实现获取某宝商品分类

2024-05-06 16:20:57
字体:
来源:转载
供稿:网友

这篇文章主要介绍了nodejs实现获取某宝商品分类,十分的简单实用,进入后台直接打开控制台,把代码粘进去运行就OK了,有需要的小伙伴可以参考下。

闲来无事,研究下电商网站,正好朋友在开某宝店,看到琳琅满目的商品分类,见猎心喜。于是稍微研究了一下。

商品分类获取全由AJAX完成,且因为需要登录,我闲麻烦,就采取了最简单的办法,进入后台直接打开控制台,把代码粘进去运行,嘿嘿,所有分类都跑到CAT.data中去了。

菜鸟练手,求指点。

 

 
  1. var CAT = { 
  2. //[{id: '', name: '', data: [{id: '', name: '', data:[{id: '', name: ''}]},{}, ...]}, {} ...] 
  3. data: [], 
  4. url: function(){ 
  5. return 'http://upload.taobao.com/auction/json/reload_cats.htm?t='+Math.random(); 
  6. }, 
  7. init: function(){ 
  8. var url = CAT.url(), 
  9. post_data = 'path=all'
  10. CAT.ajax(url, post_data, CAT.first_r); 
  11. }, 
  12. first_r: function(data){ 
  13. var rs = data[0]['data'], 
  14. first_l, first_d, i, j, second_id, second_d, func; 
  15. for(i=0;i<rs.length; i++){ 
  16. //保存一级分类 
  17. first_d = rs[i]['data']; 
  18. first_l = []; 
  19. for(j=0; j<first_d.length; j++){ 
  20. //保存二级分类同时查询三级分类,并提供存储数据的容器 
  21. second_id = first_d[j]['sid']; 
  22. second_d = { 
  23. 'id': first_d[j]['sid'], 
  24. 'name': first_d[j]['name'], 
  25. 'spell': first_d[j]['spell'], 
  26. 'data': [] 
  27. }; 
  28. first_l.push(second_d); 
  29. func = CAT.second_r(second_d['data']); 
  30. CAT.ajax(CAT.url(), 'path=next&sid='+second_id, func); 
  31. CAT.data.push({ 
  32. 'id': rs[i]['id'], 
  33. 'name': rs[i]['name'], 
  34. 'data': first_l 
  35. }) 
  36. }, 
  37. second_r: function(container){ 
  38. return function(data){ 
  39. if(data.length<1){ 
  40. return 
  41. var rs = data[0]['data'], 
  42. i, j, here, third_d; 
  43. for(i=0; i<rs.length; i++){ 
  44. third_d = rs[i]['data']; 
  45. for(j=0; j<third_d.length; j++){ 
  46. here = third_d[j]; 
  47. container.push({ 
  48. 'id': here['sid'], 
  49. 'name': here['name'], 
  50. 'spell': here['spell'
  51. }); 
  52. }, 
  53. ajax: function(url, post_data, func){ 
  54. var xhr = new XMLHttpRequest(), 
  55. result; 
  56. xhr.open('POST', url, true); 
  57. xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
  58. xhr.send(post_data); 
  59. xhr.onreadystatechange=function(){ 
  60. if (xhr.readyState==4 && xhr.status==200){ 
  61. result = JSON.parse(xhr.responseText); 
  62. func(result); 
  63. }else if(xhr.readyState==4 && (!xhr.status==200)){ 
  64. console.log('Ajax Return Error!'); 
  65. }; 
  66. CAT.init(); 

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选