parse_wx_guajian.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // First URL
  2. // const url1 = "https://api.amemv.com/insights/lynx_web/anchor/preview?anchor_type=internet_service&app_id=1128&cmpt_version=1&component_id=7430558813054405430&download_style=1&interaction_style=1&is_preview=1&item_id=0&owner_id=1809047160845323&sec_uid=MS4wLjABAAAAHBDxS7uq2FpOE5kTjzuQTuIHOqL460dWJi9izIZedWIYRktaqewXWOw_rFvP8Avx";
  3. async function fetchData(url1) {
  4. try {
  5. // Parse URL parameters using URLSearchParams
  6. const urlObj = new URL(url1);
  7. const params = Object.fromEntries(urlObj.searchParams);
  8. // Extract required parameters
  9. const component_id = params.component_id;
  10. const cmpt_version = params.cmpt_version;
  11. const item_id = params.item_id;
  12. const sec_uid = params.sec_uid;
  13. const app_id = params.app_id;
  14. // Construct extra parameter
  15. const extra_data = {
  16. item_id: item_id,
  17. author_id: params.owner_id,
  18. device_platform: 'ios'
  19. };
  20. // Construct parameters for second URL
  21. const params2 = new URLSearchParams({
  22. component_id: component_id,
  23. cmpt_version: cmpt_version,
  24. extra: JSON.stringify(extra_data),
  25. app_id: app_id,
  26. sec_uid: sec_uid
  27. });
  28. // Construct second URL
  29. const url2 = `https://api.amemv.com/aweme/v1/saiyan/industry/component/anchor/page/?${params2.toString()}`;
  30. const response = await fetch(url2, {
  31. method: 'GET',
  32. headers: {
  33. 'Accept': 'application/json'
  34. }
  35. });
  36. if (!response.ok) {
  37. throw new Error(`HTTP error! status: ${response.status}`);
  38. }
  39. const jsonData = await response.json();
  40. const anchorData = JSON.parse(jsonData.anchor_page.data);
  41. if (anchorData && anchorData.length > 0) {
  42. const item = anchorData[0];
  43. if(item.wechat_microapp_title==undefined||item.wechat_microapp_jump_url==undefined||item.wechat_microapp_jump_url.length<=0||item.wechat_microapp_title.length<=0){
  44. console.log("item:",item)
  45. return null
  46. }
  47. return {
  48. wechat_microapp_jump_url: item.wechat_microapp_jump_url || '',
  49. wechat_microapp_title: item.wechat_microapp_title || '',
  50. item:item
  51. };
  52. }
  53. return null;
  54. } catch (error) {
  55. console.error('Error:', error,url1);
  56. return null
  57. }
  58. }
  59. module.exports = {fetchData}