首页 > 语言 > 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. } 
  32. CAT.data.push({ 
  33. 'id': rs[i]['id'], 
  34. 'name': rs[i]['name'], 
  35. 'data': first_l 
  36. }) 
  37. } 
  38. }, 
  39. second_r: function(container){ 
  40. return function(data){ 
  41. if(data.length<1){ 
  42. return 
  43. } 
  44. var rs = data[0]['data'], 
  45. i, j, here, third_d; 
  46. for(i=0; i<rs.length; i++){ 
  47. third_d = rs[i]['data']; 
  48. for(j=0; j<third_d.length; j++){ 
  49. here = third_d[j]; 
  50. container.push({ 
  51. 'id': here['sid'], 
  52. 'name': here['name'], 
  53. 'spell': here['spell'] 
  54. }); 
  55. } 
  56. } 
  57. } 
  58. }, 
  59. ajax: function(url, post_data, func){ 
  60. var xhr = new XMLHttpRequest(), 
  61. result; 
  62. xhr.open('POST', url, true); 
  63. xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
  64. xhr.send(post_data); 
  65. xhr.onreadystatechange=function(){ 
  66. if (xhr.readyState==4 && xhr.status==200){ 
  67. result = JSON.parse(xhr.responseText); 
  68. func(result); 
  69. }else if(xhr.readyState==4 && (!xhr.status==200)){ 
  70. console.log('Ajax Return Error!'); 
  71. } 
  72. } 
  73. } 
  74. }; 
  75. CAT.init(); 

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

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

图片精选