From b1607f9e97b74dad5e1df4ec319211fbba8c953a Mon Sep 17 00:00:00 2001 From: cheney Date: Thu, 29 Jan 2026 17:15:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B8=85=E7=A9=BA=E6=94=B6?= =?UTF-8?q?=E8=97=8F=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.js | 126 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 118 insertions(+), 8 deletions(-) diff --git a/src/index.js b/src/index.js index 491f0fe..41db805 100644 --- a/src/index.js +++ b/src/index.js @@ -3,6 +3,119 @@ import { readFileSync } from 'fs'; const config = JSON.parse(readFileSync('./src/config.json', 'utf8')); const { cookie, sec_user_id } = config; +async function getCollection() { + try { + const response = await fetch("https://www.douyin.com/aweme/v1/web/aweme/listcollection/?device_platform=webapp&aid=6383&channel=channel_pc_web&publish_video_strategy_type=2&pc_client_type=1&pc_libra_divert=Windows&update_version_code=170400&support_h265=1&support_dash=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1536&screen_height=864&browser_language=zh-CN&browser_platform=Win32&browser_name=Chrome&browser_version=122.0.6261.95&browser_online=true&engine_name=Blink&engine_version=122.0.6261.95&os_name=Windows&os_version=10&cpu_core_num=8&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=100&webid=7588123201441105427&uifid=e438e504399eecf9c2f65594851517a53fcd0a47c3feace6f386418d12bbc04d0e409b50ec8a21ef6eff4b825cd64059646e0a366a371675723852d9a6540fb6f5091520701820efa27f3a3704dddb313966d30cb1eb174337518d6be3053846f8e3a789519374cdfccbab779ff03ecc6f7e7de633af65c7c8023a60b56e88d25276be703f2bf75e67ae6889151319ddab78703305a3c9034797e4620f16cafc7027bf0cb4e50041e1bf97725dd3c1906f45d3565d6b31aadf8fcfd836827d98&msToken=iSlpjUc-ZZQXUB5K8kTx-rVX40ddZzt9DXqE_3u-wLxKxhafhk8Td9D-ONMw4qNA687n_VJ_i3emaOwGNEqbXabtUXEVISxidkZvl7ey4nZcD3e0p4923IlP9vmLynlQujZVPuhpuRa9tWSOJ0fGEnP8q7gZeiBG7hJBp2lRdAU%3D&a_bogus=DJsVDH6JYZ5jKd%2Ft8KmTtvOU56Elrs8y4eiQSPnPCxPgPhFGPuPBObV-cPP35MMZSYphw9MHcD5VTfdTYUWS0enkqmZkuzU6cz%2FAI08LgqwVbFU8gq8mCghFuwBT8Rwi-QQ1ieXRIssr2jxR9r5EAB2aH5FH5bEgSHBIpMbyjDS8psyTno%2FnCcYWH7L%3D&verifyFp=verify_mjmrx3qn_TELLC7l8_syRO_4t1Z_9xE4_wiK4naxXhlHj&fp=verify_mjmrx3qn_TELLC7l8_syRO_4t1Z_9xE4_wiK4naxXhlHj×tamp=1769677150&x-secsdk-web-signature=6931c547636fc1cfd1186d6bee47414a", { + "headers": { + "accept": "application/json, text/plain, */*", + "accept-language": "zh-CN,zh;q=0.9", + "cache-control": "no-cache", + "content-type": "application/x-www-form-urlencoded; charset=UTF-8", + "pragma": "no-cache", + "sec-ch-ua": "\"Chromium\";v=\"122\", \"Not(A:Brand\";v=\"24\", \"Google Chrome\";v=\"122\"", + "sec-ch-ua-mobile": "?0", + "sec-ch-ua-platform": "\"Windows\"", + "sec-fetch-dest": "empty", + "sec-fetch-mode": "cors", + "sec-fetch-site": "same-origin", + "uifid": "e438e504399eecf9c2f65594851517a53fcd0a47c3feace6f386418d12bbc04d0e409b50ec8a21ef6eff4b825cd64059646e0a366a371675723852d9a6540fb6f5091520701820efa27f3a3704dddb313966d30cb1eb174337518d6be3053846f8e3a789519374cdfccbab779ff03ecc6f7e7de633af65c7c8023a60b56e88d25276be703f2bf75e67ae6889151319ddab78703305a3c9034797e4620f16cafc7027bf0cb4e50041e1bf97725dd3c1906f45d3565d6b31aadf8fcfd836827d98", + "x-secsdk-csrf-token": "DOWNGRADE", + "cookie": cookie, + "Referer": "https://www.douyin.com/user/self?from_tab_name=main&showTab=favorite_collection", + "Referrer-Policy": "no-referrer-when-downgrade" + }, + "body": "count=10&cursor=0", + "method": "POST" + }); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + const data = await response.json(); + return data; + } catch (error) { + console.error('Error fetching collection list:', error); + return null; + } +} + +async function getAndUnCollection() { + try { + let ret = await getCollection(); + if (!ret || !ret.aweme_list) { + console.error('No collection list found'); + return; + } + + let aweme_list = ret.aweme_list; + let aweme_ids = []; + + for (let index = 0; index < aweme_list.length; index++) { + const element = aweme_list[index]; + if (element && element.aweme_id) { + aweme_ids.push(element.aweme_id); + } + } + + if (aweme_ids.length > 0) { + console.log(`Found ${aweme_ids.length} collection items`); + await unCollection(aweme_ids); + } else { + console.log('No collection items to uncollect'); + } + } catch (error) { + console.error('Error in getAndUnCollection:', error); + } +} + +async function unCollection(ids) { + try { + // 构建 aweme_type_map + const aweme_type_map = {}; + ids.forEach(id => { + aweme_type_map[id] = 0; + }); + + // 构建请求体 + const body = `aweme_ids=${ids.join('%2C')}&aweme_type_map=${encodeURIComponent(JSON.stringify(aweme_type_map))}`; + + const response = await fetch("https://www.douyin.com/aweme/v1/web/aweme/cancel/collect/multi/?device_platform=webapp&aid=6383&channel=channel_pc_web&pc_client_type=1&pc_libra_divert=Windows&update_version_code=170400&support_h265=1&support_dash=1&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1536&screen_height=864&browser_language=zh-CN&browser_platform=Win32&browser_name=Chrome&browser_version=122.0.6261.95&browser_online=true&engine_name=Blink&engine_version=122.0.6261.95&os_name=Windows&os_version=10&cpu_core_num=8&device_memory=8&platform=PC&downlink=2.25&effective_type=4g&round_trip_time=200&webid=7588123201441105427&uifid=e438e504399eecf9c2f65594851517a53fcd0a47c3feace6f386418d12bbc04d0e409b50ec8a21ef6eff4b825cd64059646e0a366a371675723852d9a6540fb6f5091520701820efa27f3a3704dddb313966d30cb1eb174337518d6be3053846f8e3a789519374cdfccbab779ff03ecc6f7e7de633af65c7c8023a60b56e88d25276be703f2bf75e67ae6889151319ddab78703305a3c9034797e4620f16cafc7027bf0cb4e50041e1bf97725dd3c1906f45d3565d6b31aadf8fcfd836827d98&verifyFp=verify_mjmrx3qn_TELLC7l8_syRO_4t1Z_9xE4_wiK4naxXhlHj&fp=verify_mjmrx3qn_TELLC7l8_syRO_4t1Z_9xE4_wiK4naxXhlHj&msToken=gm3y5Z8Zs-ESl5ZxONjXIQQqhHn6XZvoBLS-ciy0w_wtvszmbAWR_jjXM5F2wLyFkgdBC6MQ2INL4FOCi85sI53qpaOs_yY3A7Fh7WevXbpsIzkD7sQKIjrgVEgbIOAlc4O1zGiU_tLoi2X9ZsIP5TlVg6p9ecYALNzAjwkdLvg%3D&a_bogus=OfsjDwtLEq5jadFbmODstl2UvSoANTWyk-TKRHaPtPYoPhlTXmNPQq4NJoiV5VZzWYphwKZHGD5UGdxb8U1r8CnkwmhkuF7fAT%2FnI60o%2FqwgGts%2FDqmDC0YzzwBFUOJNl%2FCfiAm5Ws0x2VnRVH5gAp2ae5zqQbfgWNpIp%2FG9jDS8psyTno%2FnCcYWH7L%3D", { + "headers": { + "accept": "application/json, text/plain, */*", + "accept-language": "zh-CN,zh;q=0.9", + "cache-control": "no-cache", + "content-type": "application/x-www-form-urlencoded; charset=UTF-8", + "pragma": "no-cache", + "sec-ch-ua": "\"Chromium\";v=\"122\", \"Not(A:Brand\";v=\"24\", \"Google Chrome\";v=\"122\"", + "sec-ch-ua-mobile": "?0", + "sec-ch-ua-platform": "\"Windows\"", + "sec-fetch-dest": "empty", + "sec-fetch-mode": "cors", + "sec-fetch-site": "same-origin", + "uifid": "e438e504399eecf9c2f65594851517a53fcd0a47c3feace6f386418d12bbc04d0e409b50ec8a21ef6eff4b825cd64059646e0a366a371675723852d9a6540fb6f5091520701820efa27f3a3704dddb313966d30cb1eb174337518d6be3053846f8e3a789519374cdfccbab779ff03ecc6f7e7de633af65c7c8023a60b56e88d25276be703f2bf75e67ae6889151319ddab78703305a3c9034797e4620f16cafc7027bf0cb4e50041e1bf97725dd3c1906f45d3565d6b31aadf8fcfd836827d98", + "x-secsdk-csrf-token": "DOWNGRADE", + "cookie": cookie, + "Referer": "https://www.douyin.com/user/self?from_tab_name=main&showTab=favorite_collection", + "Referrer-Policy": "no-referrer-when-downgrade" + }, + "body": body, + "method": "POST" + }); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + const data = await response.json(); + console.log('Uncollection result:', data); + return data; + } catch (error) { + console.error('Error uncollecting items:', error); + return null; + } +} + async function getFavorite() { try { const response = await fetch(`https://www.douyin.com/aweme/v1/web/aweme/favorite/?device_platform=webapp&aid=6383&channel=channel_pc_web&sec_user_id=${sec_user_id}&max_cursor=0&min_cursor=0&whale_cut_token=&cut_version=1&count=18&publish_video_strategy_type=2&update_version_code=170400&pc_client_type=1&pc_libra_divert=Windows&support_h265=1&support_dash=1&cpu_core_num=8&version_code=170400&version_name=17.4.0&cookie_enabled=true&screen_width=1536&screen_height=864&browser_language=zh-CN&browser_platform=Win32&browser_name=Chrome&browser_version=122.0.6261.95&browser_online=true&engine_name=Blink&engine_version=122.0.6261.95&os_name=Windows&os_version=10&device_memory=8&platform=PC&downlink=10&effective_type=4g&round_trip_time=100&webid=7588123201441105427&uifid=e438e504399eecf9c2f65594851517a53fcd0a47c3feace6f386418d12bbc04d0e409b50ec8a21ef6eff4b825cd64059646e0a366a371675723852d9a6540fb6f5091520701820efa27f3a3704dddb313966d30cb1eb174337518d6be3053846f8e3a789519374cdfccbab779ff03ecc6f7e7de633af65c7c8023a60b56e88d25276be703f2bf75e67ae6889151319ddab78703305a3c9034797e4620f16cafc7027bf0cb4e50041e1bf97725dd3c1906f45d3565d6b31aadf8fcfd836827d98&verifyFp=verify_mjmrx3qn_TELLC7l8_syRO_4t1Z_9xE4_wiK4naxXhlHj&fp=verify_mjmrx3qn_TELLC7l8_syRO_4t1Z_9xE4_wiK4naxXhlHj&msToken=XVrfBx2H--46EDtKA8gvp94fyaO9Q6EWz4m7eVDiWHfNgRjdqIp07r2di--6kDYgSqY_Aavj6a4uPFIFXvp0vaU-qDIxoi4ACF48HVDaIBG1tEPorMOlTqGBADKGKSngV31AfgHTX5YpCYhMd-ujv3ia8nmQ8fUyqqvPRUvxFhM%3D&a_bogus=Qj4RkeSLExWfcd%2Fb8KNZ76OUUHgANPuyMaTdRyKPSOOOaZFY-bNPKOSXcxoqWhLBSSBzw9-H7fGlbjVbYUXTZHHkFmpvS8hbCT25I0mLZqq6Tl4%2FDNm8CgTzqwse0YvNaA9SiImR1sMN2VnRVH5YAddGH5FqQ5DgSqB9pZt9rDCW3PgTnn2GCrfAVqy%3D×tamp=1769668348&x-secsdk-web-signature=48a49129857d5973920a84fbca09b630`, { @@ -121,14 +234,11 @@ async function unFavorites(ids) { // 测试函数 async function test() { - // 测试获取喜欢列表 - const favoriteResult = await getFavorite(); - console.log('Favorite list result:', favoriteResult); - - // 测试获取并取消喜欢 + // 测试获取喜欢列表并取消喜欢 await getAndUnFavorite(); + + // 测试获取收藏列表并取消收藏 + await getAndUnCollection(); } -setInterval(() => { - test(); -}, 10 * 1000); +test();