testSpider.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. import {__jsEvalReturn} from '../js/jianpian.js';
  2. import * as Utils from "../lib/utils.js";
  3. let spider = __jsEvalReturn();
  4. async function testPlay(vodDetail) {
  5. if (vodDetail.list && vodDetail.list.length > 0) {
  6. const pFlag = vodDetail.list[0].vod_play_from.split('$$$');
  7. const pUrls = vodDetail.list[0].vod_play_url.split('$$$');
  8. if (pFlag.length > 0 && pUrls.length > 0) {
  9. for (const i in pFlag) {
  10. // console.debug(i)
  11. let flag = pFlag[i];
  12. let urls = pUrls[i].split('#');
  13. // console.debug(flag, urls)
  14. for (const j in urls) {
  15. var name = urls[j].split('$')[0];
  16. var url = urls[j].split('$')[1];
  17. console.debug(flag + " | " + name + " | " + url);
  18. var playUrl = await spider.play(flag, url, []);
  19. console.debug('playURL: ' + playUrl);
  20. }
  21. }
  22. }
  23. }
  24. }
  25. async function testMusicPlay(vodDetail) {
  26. if (vodDetail.list && vodDetail.list.length > 0) {
  27. const pFlag = vodDetail.list[0].volumes.split('$$$');
  28. const pUrls = vodDetail.list[0].urls.split('$$$');
  29. if (pFlag.length > 0 && pUrls.length > 0) {
  30. for (const i in pFlag) {
  31. // console.debug(i)
  32. let flag = pFlag[i];
  33. let urls = pUrls[i].split('#');
  34. // console.debug(flag, urls)
  35. for (const j in urls) {
  36. var name = urls[j].split('$')[0];
  37. var url = urls[j].split('$')[1];
  38. console.debug(flag + " | " + name + " | " + url);
  39. var playUrl = await spider.play(flag, url, []);
  40. console.debug('playURL: ' + playUrl);
  41. }
  42. break
  43. }
  44. }
  45. }
  46. }
  47. async function test() {
  48. let siteKey = 'jianpian';
  49. let siteType = 3;
  50. await spider.init({
  51. skey: siteKey, stype: siteType, ext: {
  52. "aliToken": "a0debd28d10e4aa5a431e7de586e6e42",
  53. "box": "TV",
  54. "code": "1",
  55. "from": "star",
  56. "danmu": true,
  57. "cookie": "buvid3=02675249-8ED3-C418-87F5-59E18316459714816infoc; b_nut=1704421014; _uuid=5D435F74-F574-D9AB-62C1-B9294DE465D913102infoc; buvid_fp=e8c5650c749398e9b5cad3f3ddb5081e; buvid4=007E85D1-52C1-7E6E-07CF-837FFBC9349516677-024010502-J5vTDSZDCw4fNnXRejbSVg%3D%3D; rpdid=|()kYJmulRu0J'u~|RRJl)JR; PVID=1; SESSDATA=3be091d3%2C1720332009%2C699ed%2A11CjAcCdwXG5kY1umhCOpQHOn_WP7L9xFBfWO7KKd4BPweodpR6VyIfeNyPiRmkr5jCqsSVjg0R0dZOVVHRUo3RnhPRTZFc3JPbGdiUjFCdHpiRDhiTkticmdKTjVyS1VhbDdvNjFMSDJlbUJydUlRdjFUNGFBNkJlV2ZTa0N1Q1BEVi1QYTQzTUh3IIEC; bili_jct=b0ee7b5d3f27df893545d811d95506d4; DedeUserID=78014638; DedeUserID__ckMd5=4c8c5d65065e468a; enable_web_push=DISABLE; header_theme_version=CLOSE; home_feed_column=5; CURRENT_BLACKGAP=0; CURRENT_FNVAL=4048; b_lsid=75E916AA_18EA1A8D995; bsource=search_baidu; FEED_LIVE_VERSION=V_HEADER_LIVE_NO_POP; browser_resolution=1507-691; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTIzNjk5MTMsImlhdCI6MTcxMjExMDY1MywicGx0IjotMX0.8zQW_fNTCSBlK_JkHnzu3gDw62wuTK1qgKcbGec3swM; bili_ticket_expires=171236985",
  58. "quarkCookie":"__puus=4315f3066f599ce7233f88d8c313a030AAQ/jijbnct663MvWewmjAye1IUH1d9WVf3hcrcIIOEZvWcl4jsz4IUe4nBqByH9+Oc6JSgdx08r93auaJcX5OHH3X8MozlbCX3f7EQ0/UmJwlZiQsz4UKCA++VixQLNd71zoRJ+VvHmYFkJxfnnveJ3nWSWt3HVbUJbAjsWhKR0UrI72TA33ocAbXvyF0XXFVe8lJI4j4DMK6HixNIf1CX2; CwsSessionId=4ebf55ce-02e3-469c-b7fc-59eb327be82c; kkpcwpea=a=a&uc_param_str=einibicppfmivefrlantcunwsssvjbktchnnsnddds&instance=kkpcwp&pf=145&self_service=true&wxUid=AAR33S5CGi7X5FDtOxbk2juf&plain_utdid=Zk29NiM5i2QDAKrmAFKxjrco&system_ver=Darwin_13.6.6&channel_no=pckk%40clouddrive_share_ch&ve=3.2.7&sv=release; _UP_D_=pc; __kp=872521a0-1743-11ef-8758-49b470509a34; __kps=AAR33S5CGi7X5FDtOxbk2juf; __ktd=v/InsJyWIBLv++dfPEXCtA==; __pus=46820c01a28fc1296d407f0bf5cff035AASGf9nOKeDv5D/U50Qsjq6L5IUllrXEQOlPdpQ2S6JymmRlRK1fmlpdAQRkZ4zTHX3i0LGLYxuSwxai4pJtx/pU; __uid=AAR33S5CGi7X5FDtOxbk2juf; _UP_A4A_11_=wb964143699847c8862df3296d502423"
  59. }
  60. });
  61. let classes = JSON.parse(await spider.home(true));
  62. console.debug(JSON.stringify(classes))
  63. //测试首页列表
  64. let homeVod = JSON.parse(await spider.homeVod())
  65. console.debug(JSON.stringify(homeVod));
  66. // 测试详情
  67. let detail1 = JSON.parse(await spider.detail("562381"))
  68. await testPlay(detail1)
  69. /***
  70. *
  71. * "HD粤语中英双字$ftp://a.gbl.114s.com:20320/9607/潜行-2023_HD粤语中英双字.mp4#HD国语中英双字$ftp://a.gbl.114s.com:20320/8224/潜行-2023_HD国语中英双字.mp4#BD国粤双语中字$ftp://a.gbl.114s.com:20320/1413/潜行-2023_BD国粤双语中字.mp4"
  72. */
  73. // 测试搜索
  74. let search_page = JSON.parse(await spider.search("庆余年", false, 1))
  75. console.debug(JSON.stringify(search_page))
  76. // 测试详情
  77. if (search_page.list && search_page.list.length > 0) {
  78. for (const k in search_page.list) {
  79. // console.debug(k)
  80. if (k >= 1) break;
  81. let obj = search_page.list[k]
  82. let spVid = search_page.list[k].vod_id
  83. console.debug("===", spVid)
  84. var detail = JSON.parse(await spider.detail(spVid || search_page.list[k].vod_id));
  85. await testPlay(detail);
  86. }
  87. }
  88. }
  89. export {test};