update
This commit is contained in:
80
netease_music/auto - comment id expand.js
Normal file
80
netease_music/auto - comment id expand.js
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
let a = `1990000000
|
||||||
|
1980000000
|
||||||
|
1970000000
|
||||||
|
1960000000
|
||||||
|
1950000000
|
||||||
|
1940000000
|
||||||
|
1930000000
|
||||||
|
1920000000
|
||||||
|
1910000000
|
||||||
|
1900000000
|
||||||
|
1890000000
|
||||||
|
1880000000
|
||||||
|
1870000000
|
||||||
|
1860000000
|
||||||
|
1850000000
|
||||||
|
1840000000
|
||||||
|
1830000000
|
||||||
|
1820000000
|
||||||
|
1810000000
|
||||||
|
1800000000
|
||||||
|
1500000000
|
||||||
|
1490000000
|
||||||
|
1480000000
|
||||||
|
1470000000
|
||||||
|
1460000000
|
||||||
|
1450000000
|
||||||
|
1440000000
|
||||||
|
1430000000
|
||||||
|
1420000000
|
||||||
|
1410000000
|
||||||
|
1400000000
|
||||||
|
1390000000
|
||||||
|
1380000000
|
||||||
|
1370000000
|
||||||
|
1360000000
|
||||||
|
1350000000
|
||||||
|
1340000000
|
||||||
|
1330000000
|
||||||
|
1320000000
|
||||||
|
1310000000
|
||||||
|
1300000000
|
||||||
|
1290000000
|
||||||
|
860000000
|
||||||
|
570000000
|
||||||
|
560000000
|
||||||
|
550000000
|
||||||
|
540000000
|
||||||
|
530000000
|
||||||
|
520000000
|
||||||
|
510000000
|
||||||
|
500000000
|
||||||
|
490000000
|
||||||
|
480000000
|
||||||
|
470000000
|
||||||
|
460000000
|
||||||
|
450000000
|
||||||
|
440000000
|
||||||
|
430000000
|
||||||
|
420000000
|
||||||
|
410000000
|
||||||
|
400000000
|
||||||
|
390000000
|
||||||
|
40000000
|
||||||
|
30000000
|
||||||
|
20000000
|
||||||
|
10000000
|
||||||
|
0`
|
||||||
|
|
||||||
|
const splitCount = 1000
|
||||||
|
const step = 10000000 / splitCount
|
||||||
|
|
||||||
|
let b = []
|
||||||
|
a.split('\n')
|
||||||
|
.map(i => Number(i))
|
||||||
|
.forEach(n => {
|
||||||
|
for (let i = splitCount; i > 0; i--) {
|
||||||
|
b.push(Number(n) + (i - 1) * step)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
console.log(b.join('\n'))
|
File diff suppressed because it is too large
Load Diff
@@ -1,232 +1,43 @@
|
|||||||
|
|
||||||
cd tools/netease_music/
|
cd tools/netease_music/
|
||||||
# 服务器正在跑
|
# node index --utils lyric --min 1940000000 --limit 10000 &
|
||||||
# # node index --utils lyric --min 1940000000 --limit 10000 &
|
# node index --utils lyric --min 1930000000 --max 1940000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 1920000000 --max 1930000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1930000000 --max 1940000000 --limit 10000 &
|
# node index --utils lyric --min 1910000000 --max 1920000000 --limit 10000 &
|
||||||
# node index --utils lyric --min 1930000000 --max 1937000000 --limit 10000 --order desc &
|
# node index --utils lyric --min 1900000000 --max 1910000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 1890000000 --max 1900000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1920000000 --max 1930000000 --limit 10000 &
|
# node index --utils lyric --min 1880000000 --max 1890000000 --limit 10000 &
|
||||||
# node index --utils lyric --min 1920000000 --max 1927000000 --limit 10000 --order desc &
|
# node index --utils lyric --min 1870000000 --max 1880000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 1860000000 --max 1870000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1910000000 --max 1920000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1910000000 --max 1917000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1900000000 --max 1910000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1900000000 --max 1907000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1890000000 --max 1900000000 --limit 10000 &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1880000000 --max 1890000000 --limit 10000 &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1870000000 --max 1880000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1870000000 --max 1875000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1860000000 --max 1870000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1860000000 --max 1865000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
# node index --utils lyric --min 1850000000 --max 1860000000 --limit 10000 &
|
# node index --utils lyric --min 1850000000 --max 1860000000 --limit 10000 &
|
||||||
# node index --utils lyric --min 1840000000 --max 1850000000 --limit 10000 &
|
# node index --utils lyric --min 1840000000 --max 1850000000 --limit 10000 &
|
||||||
# node index --utils lyric --min 1830000000 --max 1840000000 --limit 10000 &
|
# node index --utils lyric --min 1830000000 --max 1840000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 1820000000 --max 1830000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1820000000 --max 1830000000 --limit 10000 &
|
# node index --utils lyric --min 1810000000 --max 1820000000 --limit 10000 &
|
||||||
# node index --utils lyric --min 1820000000 --max 1827000000 --limit 10000 --order desc &
|
# node index --utils lyric --min 1800000000 --max 1810000000 --limit 10000 &
|
||||||
|
|
||||||
node index --utils lyric --min 1810000000 --max 1820000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1810000000 --max 1817000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1800000000 --max 1810000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1800000000 --max 1807000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
# node index --utils lyric --min 1500000000 --max 1800000000 --limit 10000 &
|
# node index --utils lyric --min 1500000000 --max 1800000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 1490000000 --max 1500000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1490000000 --max 1500000000 --limit 10000 &
|
# node index --utils lyric --min 1480000000 --max 1490000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 1470000000 --max 1480000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1480000000 --max 1490000000 --limit 10000 &
|
# node index --utils lyric --min 1460000000 --max 1470000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 1450000000 --max 1460000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1470000000 --max 1480000000 --limit 10000 &
|
# node index --utils lyric --min 1440000000 --max 1450000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 1430000000 --max 1440000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1460000000 --max 1470000000 --limit 10000 &
|
# node index --utils lyric --min 1420000000 --max 1430000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 1410000000 --max 1420000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1450000000 --max 1460000000 --limit 10000 &
|
# node index --utils lyric --min 1400000000 --max 1410000000 --limit 10000 &
|
||||||
# node index --utils lyric --min 1450000000 --max 1455000000 --limit 10000 --order desc &
|
# node index --utils lyric --min 1390000000 --max 1400000000 --limit 10000 &
|
||||||
|
|
||||||
node index --utils lyric --min 1440000000 --max 1450000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1440000000 --max 1445000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1430000000 --max 1440000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1430000000 --max 1435000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1420000000 --max 1430000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1420000000 --max 1427000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1410000000 --max 1420000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1410000000 --max 1417000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1400000000 --max 1410000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1400000000 --max 1405000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1390000000 --max 1400000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1390000000 --max 1395000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
# node index --utils lyric --min 1380000000 --max 1390000000 --limit 10000 &
|
# node index --utils lyric --min 1380000000 --max 1390000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 1370000000 --max 1380000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1370000000 --max 1380000000 --limit 10000 &
|
# node index --utils lyric --min 1360000000 --max 1370000000 --limit 10000 &
|
||||||
# node index --utils lyric --min 1370000000 --max 1377000000 --limit 10000 --order desc &
|
# node index --utils lyric --min 1350000000 --max 1360000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 1340000000 --max 1350000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1360000000 --max 1370000000 --limit 10000 &
|
# node index --utils lyric --min 1330000000 --max 1340000000 --limit 10000 &
|
||||||
# node index --utils lyric --min 1360000000 --max 1367000000 --limit 10000 --order desc &
|
# node index --utils lyric --min 1320000000 --max 1330000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 1310000000 --max 1320000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1350000000 --max 1360000000 --limit 10000 &
|
# node index --utils lyric --min 1300000000 --max 1310000000 --limit 10000 &
|
||||||
# node index --utils lyric --min 1350000000 --max 1357000000 --limit 10000 --order desc &
|
# node index --utils lyric --min 570000000 --max 1300000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 560000000 --max 570000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1340000000 --max 1350000000 --limit 10000 &
|
# node index --utils lyric --min 550000000 --max 560000000 --limit 10000 &
|
||||||
# node index --utils lyric --min 1340000000 --max 1347000000 --limit 10000 --order desc &
|
# node index --utils lyric --min 540000000 --max 550000000 --limit 10000 &
|
||||||
|
# node index --utils lyric --min 530000000 --max 540000000 --limit 10000 &
|
||||||
node index --utils lyric --min 1330000000 --max 1340000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1330000000 --max 1337000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1320000000 --max 1330000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1320000000 --max 1327000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1310000000 --max 1320000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1310000000 --max 1317000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
node index --utils lyric --min 1300000000 --max 1310000000 --limit 10000 &
|
|
||||||
# node index --utils lyric --min 1300000000 --max 1305000000 --limit 10000 --order desc &
|
|
||||||
|
|
||||||
# 本地正在跑
|
|
||||||
# node index --utils lyric --min 570000000 --max 1300000000 --limit 10000
|
|
||||||
start cmd /k "node index --utils lyric --min 560000000 --max 570000000 --limit 10000"
|
|
||||||
start cmd /k "node index --utils lyric --min 550000000 --max 560000000 --limit 10000"
|
|
||||||
start cmd /k "node index --utils lyric --min 540000000 --max 550000000 --limit 10000"
|
|
||||||
# node index --utils lyric --min 530000000 --max 540000000 --limit 10000
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 本地正在跑
|
|
||||||
start cmd /k "node index --utils lyric --min 560000000 --max 570000000 --limit 10000 --order desc"
|
|
||||||
|
|
||||||
# 服务器正在跑
|
|
||||||
node index --utils lyric --min 1937000000 --max 1940000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1927000000 --max 1930000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1917000000 --max 1920000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1907000000 --max 1910000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1897000000 --max 1900000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1887000000 --max 1890000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1877000000 --max 1880000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1867000000 --max 1870000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1827000000 --max 1830000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1817000000 --max 1820000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1807000000 --max 1810000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1497000000 --max 1500000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1487000000 --max 1490000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1477000000 --max 1480000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1467000000 --max 1470000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1457000000 --max 1460000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1447000000 --max 1450000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1437000000 --max 1440000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1427000000 --max 1430000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1417000000 --max 1420000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1407000000 --max 1410000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1397000000 --max 1400000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1377000000 --max 1380000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1367000000 --max 1370000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1357000000 --max 1360000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1347000000 --max 1350000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1337000000 --max 1340000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1327000000 --max 1330000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1317000000 --max 1320000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1307000000 --max 1310000000 --limit 10000 --order desc &
|
|
||||||
# 右边
|
|
||||||
# node index --utils lyric --min 1937000000 --max 1940000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1927000000 --max 1930000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1917000000 --max 1920000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1907000000 --max 1910000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1897000000 --max 1900000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1887000000 --max 1890000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1877000000 --max 1880000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1867000000 --max 1870000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1827000000 --max 1830000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1817000000 --max 1820000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1807000000 --max 1810000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1497000000 --max 1500000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1487000000 --max 1490000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1477000000 --max 1480000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1467000000 --max 1470000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1457000000 --max 1460000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1447000000 --max 1450000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1437000000 --max 1440000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1427000000 --max 1430000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1417000000 --max 1420000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1407000000 --max 1410000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1397000000 --max 1400000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1377000000 --max 1380000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1367000000 --max 1370000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1357000000 --max 1360000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1347000000 --max 1350000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1337000000 --max 1340000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1327000000 --max 1330000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1317000000 --max 1320000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1307000000 --max 1310000000 --limit 10000 --order asc &
|
|
||||||
|
|
||||||
# 服务器正在跑
|
|
||||||
node index --utils lyric --min 1895000000 --max 1897000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1885000000 --max 1887000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1875000000 --max 1877000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1865000000 --max 1867000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1495000000 --max 1497000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1485000000 --max 1487000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1475000000 --max 1477000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1465000000 --max 1467000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1455000000 --max 1457000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1445000000 --max 1447000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1435000000 --max 1437000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1405000000 --max 1407000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1395000000 --max 1397000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1305000000 --max 1307000000 --limit 10000 --order desc &
|
|
||||||
# 右边
|
|
||||||
# node index --utils lyric --min 1895000000 --max 1897000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1885000000 --max 1887000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1875000000 --max 1877000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1865000000 --max 1867000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1495000000 --max 1497000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1485000000 --max 1487000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1475000000 --max 1477000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1465000000 --max 1467000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1455000000 --max 1457000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1445000000 --max 1447000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1435000000 --max 1437000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1405000000 --max 1407000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1395000000 --max 1397000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1305000000 --max 1307000000 --limit 10000 --order asc &
|
|
||||||
|
|
||||||
# 服务器正在跑
|
|
||||||
node index --utils lyric --min 1890000000 --max 1895000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1880000000 --max 1885000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1490000000 --max 1495000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1480000000 --max 1485000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1470000000 --max 1475000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1460000000 --max 1465000000 --limit 10000 --order desc &
|
|
||||||
# 右边
|
|
||||||
# node index --utils lyric --min 1890000000 --max 1895000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1880000000 --max 1885000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1490000000 --max 1495000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1480000000 --max 1485000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1470000000 --max 1475000000 --limit 10000 --order asc &
|
|
||||||
# node index --utils lyric --min 1460000000 --max 1465000000 --limit 10000 --order asc &
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 手机正在跑
|
|
||||||
cd tools/netease_music/
|
|
||||||
# node index --utils lyric --min 1892000000 --max 1893000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1882000000 --max 1883000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1492000000 --max 1493000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1482000000 --max 1483000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1472000000 --max 1473000000 --limit 10000 --order desc &
|
|
||||||
node index --utils lyric --min 1462000000 --max 1463000000 --limit 10000 --order desc &
|
|
||||||
|
@@ -74,7 +74,9 @@ async function fetch({ songId }) {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
// console.log(progress, queryParams);
|
// console.log(progress, queryParams);
|
||||||
|
// console.log("await comment_music")
|
||||||
var commentResult = await comment_music(queryParams);
|
var commentResult = await comment_music(queryParams);
|
||||||
|
// console.log("finish await comment_music")
|
||||||
// fs.writeFileSync(path.join(__dirname, "../../temp", `comment-${songId}-${pageCount}.json`), JSON.stringify(commentResult));
|
// fs.writeFileSync(path.join(__dirname, "../../temp", `comment-${songId}-${pageCount}.json`), JSON.stringify(commentResult));
|
||||||
} catch (errors) {
|
} catch (errors) {
|
||||||
console.error("error", errors);
|
console.error("error", errors);
|
||||||
@@ -97,7 +99,7 @@ async function fetch({ songId }) {
|
|||||||
// console.log(commentInfoList);
|
// console.log(commentInfoList);
|
||||||
// console.log(userInfoList);
|
// console.log(userInfoList);
|
||||||
|
|
||||||
// console.log("dataManager.comment.insertCollection & dataManager.user.insertCollection")
|
console.log("dataManager.comment.insertCollection & dataManager.user.insertCollection")
|
||||||
let p1 = dataManager.comment.insertCollection(commentInfoList.map(commentInfo => [
|
let p1 = dataManager.comment.insertCollection(commentInfoList.map(commentInfo => [
|
||||||
commentInfo.comment_id,
|
commentInfo.comment_id,
|
||||||
commentInfo.parent_comment_id,
|
commentInfo.parent_comment_id,
|
||||||
@@ -149,10 +151,10 @@ async function fetch({ songId }) {
|
|||||||
current_status: progress.currentStatus,
|
current_status: progress.currentStatus,
|
||||||
total: progress.total,
|
total: progress.total,
|
||||||
};
|
};
|
||||||
// console.log("dataManager.comment_progress.update")
|
console.log("dataManager.comment_progress.update")
|
||||||
let p3 = dataManager.comment_progress.update(commentProgressInfo, songId);
|
let p3 = dataManager.comment_progress.update(commentProgressInfo, songId);
|
||||||
// console.log("UPDATE comment_progress");
|
|
||||||
await p3
|
await p3
|
||||||
|
// console.log("UPDATE comment_progress");
|
||||||
|
|
||||||
// console.log("sleepUtils.sleep")
|
// console.log("sleepUtils.sleep")
|
||||||
// await sleepUtils.sleep(global.sleepTime);
|
// await sleepUtils.sleep(global.sleepTime);
|
||||||
|
@@ -28,8 +28,16 @@ async function fetchTop({ args = {} }) {
|
|||||||
let hasMore = true;
|
let hasMore = true;
|
||||||
while (hasMore) {
|
while (hasMore) {
|
||||||
try {
|
try {
|
||||||
// var result = await top_playlist({ id: 1 });
|
// https://neteasecloudmusicapi-docs.4everland.app/#/?id=%e6%ad%8c%e5%8d%95-%e7%bd%91%e5%8f%8b%e7%b2%be%e9%80%89%e7%a2%9f-
|
||||||
var result = await top_playlist_highquality({ id: 1 });
|
var result = await top_playlist({ id: 2 });
|
||||||
|
|
||||||
|
// https://neteasecloudmusicapi-docs.4everland.app/#/?id=%e8%8e%b7%e5%8f%96%e7%b2%be%e5%93%81%e6%ad%8c%e5%8d%95
|
||||||
|
// var result = await top_playlist_highquality({});
|
||||||
|
|
||||||
|
// 调用此接口,传入歌单 id 可获取相关歌单
|
||||||
|
// https://neteasecloudmusicapi-docs.4everland.app/#/?id=%e7%9b%b8%e5%85%b3%e6%ad%8c%e5%8d%95%e6%8e%a8%e8%8d%90
|
||||||
|
var result = await related_playlist({ id: 809945533 });
|
||||||
|
|
||||||
// fs.writeFileSync(path.join(__dirname, "../../temp", `test.json`), JSON.stringify(result.body));
|
// fs.writeFileSync(path.join(__dirname, "../../temp", `test.json`), JSON.stringify(result.body));
|
||||||
} catch (errors) {
|
} catch (errors) {
|
||||||
console.error("error", errors);
|
console.error("error", errors);
|
||||||
@@ -47,7 +55,7 @@ async function fetchTop({ args = {} }) {
|
|||||||
await global.checkIsExit();
|
await global.checkIsExit();
|
||||||
const playlist = playlists[i];
|
const playlist = playlists[i];
|
||||||
const playlistId = playlist.id;
|
const playlistId = playlist.id;
|
||||||
console.log(`${i + 1}/${playlists.length} | playlist: ${playlistId} | limit: ${limit}, page: ${page}`);
|
console.log(`${Number(i) + 1}/${playlists.length} | playlist: ${playlistId} | limit: ${limit}, page: ${page}`);
|
||||||
try {
|
try {
|
||||||
await oldPlaylistUtils.fetch({ playlistId: playlist.id })
|
await oldPlaylistUtils.fetch({ playlistId: playlist.id })
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@@ -55,6 +63,8 @@ async function fetchTop({ args = {} }) {
|
|||||||
}
|
}
|
||||||
// await sleepUtils.sleep(global.sleepTime);
|
// await sleepUtils.sleep(global.sleepTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 更新 is_fetched_related_playlist 字段
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
40
netease_music/打印SQL.js
Normal file
40
netease_music/打印SQL.js
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
|
||||||
|
// const mysql = require('mysql');
|
||||||
|
// await new Promise(function (resolve, reject) {
|
||||||
|
// //通过MySQL中方法创建连接对象
|
||||||
|
// var connection = mysql.createConnection({
|
||||||
|
// "charset": "utf8mb4",
|
||||||
|
// "host": "localhost",
|
||||||
|
// "user": "root",
|
||||||
|
// "password": "123456",
|
||||||
|
// "port": 3306,
|
||||||
|
// "database": ""
|
||||||
|
// });
|
||||||
|
// //开始连接
|
||||||
|
// connection.connect();
|
||||||
|
// var sql = `
|
||||||
|
// INSERT INTO comment ( comment_id, parent_comment_id, user_id, song_id, content, time, like_count, comment_type ) VALUES ?
|
||||||
|
// ON DUPLICATE KEY UPDATE content = VALUES(content), like_count = VALUES(like_count), comment_type = GREATEST(comment_type, VALUES(comment_type)), modify_time = CURRENT_TIMESTAMP
|
||||||
|
// `;
|
||||||
|
// var params = commentInfoList.map(commentInfo => [
|
||||||
|
// commentInfo.comment_id,
|
||||||
|
// commentInfo.parent_comment_id,
|
||||||
|
// commentInfo.user_id,
|
||||||
|
// commentInfo.song_id,
|
||||||
|
// commentInfo.content,
|
||||||
|
// commentInfo.time,
|
||||||
|
// commentInfo.like_count,
|
||||||
|
// commentInfo.comment_type
|
||||||
|
// ]);
|
||||||
|
// var formattedSql = connection.format(sql, [params]); // 返回一个格式化后的SQL字符串
|
||||||
|
// console.log(params); // 打印原始SQL语句
|
||||||
|
// console.log(formattedSql); // 打印原始SQL语句
|
||||||
|
// //最后需要关闭连接
|
||||||
|
// connection.end();
|
||||||
|
// });
|
||||||
|
// process.exit(0);
|
||||||
|
|
||||||
|
|
||||||
|
// node index --utils comment --min 1935500000 --max 1935550000 --limit 10
|
||||||
|
|
||||||
|
|
9
netease_music/表合并.sql
Normal file
9
netease_music/表合并.sql
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
REPLACE INTO `comment_origin_` SELECT * FROM `comment`; -- 80.1G
|
||||||
|
REPLACE INTO `user_origin_` SELECT * FROM `user`; -- 5.20G
|
||||||
|
|
||||||
|
|
||||||
|
DELETE `comment`
|
||||||
|
FROM `comment` INNER JOIN `comment_origin_` ON `comment`.comment_id = `comment_origin_`.comment_id;
|
||||||
|
|
||||||
|
DELETE `user`
|
||||||
|
FROM `user` INNER JOIN `user_origin_` ON `user`.user_id = `user_origin_`.user_id;
|
6
xiaoeknow/README.md
Normal file
6
xiaoeknow/README.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# 小鹅通课程下载脚本
|
||||||
|
|
||||||
|
https://xiaoeknow.com/
|
||||||
|
https://xiaoe-tech.com/
|
||||||
|
|
||||||
|
https://study.xiaoe-tech.com/
|
3
xiaoeknow/每天听见吴晓波/.gitignore
vendored
Normal file
3
xiaoeknow/每天听见吴晓波/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
*.json
|
||||||
|
*.txt
|
||||||
|
*.csv
|
229
xiaoeknow/每天听见吴晓波/index.js
Normal file
229
xiaoeknow/每天听见吴晓波/index.js
Normal file
@@ -0,0 +1,229 @@
|
|||||||
|
const request = require('request');
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
// 2023.06.27
|
||||||
|
|
||||||
|
// https://appe0mes6qx8480.h5.xiaoeknow.com/p/course/member/p_5857d53b3342a_Tm6TjjTD?type=3
|
||||||
|
|
||||||
|
function getResult(pageIndex) {
|
||||||
|
var options = {
|
||||||
|
'method': 'POST',
|
||||||
|
'url': 'https://appe0mes6qx8480.h5.xiaoeknow.com/xe.course.business.member.single_items.get/2.0.0',
|
||||||
|
'headers': {
|
||||||
|
'authority': 'appe0mes6qx8480.h5.xiaoeknow.com',
|
||||||
|
'accept': 'application/json, text/plain, */*',
|
||||||
|
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
|
||||||
|
'content-type': 'application/x-www-form-urlencoded',
|
||||||
|
'cookie': 'sajssdk_2015_cross_new_user=1; sensorsdata2015jssdkcross=%7B%22%24device_id%22%3A%22188910ca4534a7-06c3769156869f-7e56547a-1638720-188910ca45483b%22%2C%22distinct_id%22%3A%22188faad51401330-0a45aeaa8b8e44-7e56547a-1638720-188faad5141188b%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%7D; Hm_lvt_32573db0e6d7780af79f38632658ed95=1687832846; Hm_lpvt_32573db0e6d7780af79f38632658ed95=1687832846; Qs_lvt_416447=1687832846; Qs_pv_416447=2667293149066936000; shop_version_type=4; ko_token=1242be138fd55c4ef4316cd54334b65c; xenbyfpfUnhLsdkZbX=0; dataUpJssdkCookie={"wxver":"","net":"","sid":""}; sajssdk_2015_new_user_appe0mes6qx8480_h5_xiaoeknow_com=1; sa_jssdk_2015_appe0mes6qx8480_h5_xiaoeknow_com=%7B%22distinct_id%22%3A%22u_6493fd71d1df1_FjNmN1cb6S%22%2C%22first_id%22%3A%22188faae9cb032a-042220d4e5b0b6-7e56547a-1638720-188faae9cb11002%22%2C%22props%22%3A%7B%7D%7D; logintime=1687833065; logintime=1687833334; shop_version_type=4',
|
||||||
|
'origin': 'https://appe0mes6qx8480.h5.xiaoeknow.com',
|
||||||
|
'referer': 'https://appe0mes6qx8480.h5.xiaoeknow.com/p/course/member/p_5857d53b3342a_Tm6TjjTD?type=3',
|
||||||
|
'req-uuid': '20230627103104000260393',
|
||||||
|
'retry': '1',
|
||||||
|
'sec-ch-ua-mobile': '?0',
|
||||||
|
'sec-ch-ua-platform': '"Windows"',
|
||||||
|
'sec-fetch-dest': 'empty',
|
||||||
|
'sec-fetch-mode': 'cors',
|
||||||
|
'sec-fetch-site': 'same-origin',
|
||||||
|
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.51'
|
||||||
|
},
|
||||||
|
form: {
|
||||||
|
'bizData[column_id]': 'p_5857d53b3342a_Tm6TjjTD',
|
||||||
|
'bizData[page_index]': `${pageIndex}`,
|
||||||
|
// 'bizData[page_index]': '1',
|
||||||
|
'bizData[page_size]': '100',
|
||||||
|
'bizData[sort]': 'asc'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
request(options, function (error, response) {
|
||||||
|
if (error) throw new Error(error)
|
||||||
|
console.log(response.body)
|
||||||
|
|
||||||
|
let result = JSON.parse(response.body)
|
||||||
|
let data = result.data
|
||||||
|
if (result.code === 0) {
|
||||||
|
fs.writeFileSync(path.join(__dirname, 'courseList', `${pageIndex}.json`), JSON.stringify(data), 'utf-8')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// // step 1: get course list
|
||||||
|
// for (let pageIndex = 1; pageIndex <= 23; pageIndex++) {
|
||||||
|
// getResult(pageIndex)
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
// // step 2: parse course list
|
||||||
|
// let total = []
|
||||||
|
// for (let pageIndex = 1; pageIndex <= 23; pageIndex++) {
|
||||||
|
// let jsonStr = fs.readFileSync(path.join(__dirname, 'courseList', `${pageIndex}.json`), 'utf-8')
|
||||||
|
// let json = JSON.parse(jsonStr)
|
||||||
|
// total.push(...json.list)
|
||||||
|
// }
|
||||||
|
// console.log(total.length)
|
||||||
|
// fs.writeFileSync(path.join(__dirname, 'courseList', `index.json`), JSON.stringify({
|
||||||
|
// "total": total.length,
|
||||||
|
// "list": total,
|
||||||
|
// }), 'utf-8')
|
||||||
|
|
||||||
|
|
||||||
|
// step 3: fetch course detail
|
||||||
|
let jsonStr = fs.readFileSync(path.join(__dirname, 'courseList', `index.json`), 'utf-8')
|
||||||
|
let json = JSON.parse(jsonStr)
|
||||||
|
let courseList = json.list
|
||||||
|
|
||||||
|
getDetails()
|
||||||
|
async function getDetails() {
|
||||||
|
getDetails1(courseList.filter(course => course.resource_type === 1))
|
||||||
|
getDetails3(courseList.filter(course => course.resource_type === 3))
|
||||||
|
getDetails24(courseList.filter(course => course.resource_type === 2 || course.resource_type === 4))
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getDetails1(courseList) {
|
||||||
|
// "resource_type": 1, 图文
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getDetails3(courseList) {
|
||||||
|
// "resource_type": 3, 视频
|
||||||
|
// 年终秀PPT动态视频
|
||||||
|
// jump_url: /content_page/eyJ0eXBlIjoyLCJyZXNvdXJjZV90eXBlIjozLCJyZXNvdXJjZV9pZCI6InZfNWZlY2VjMDhlNGIwYzRmMmJjNGYxYmJkIiwicHJvZHVjdF9pZCI6InBfNTg1N2Q1M2IzMzQyYV9UbTZUampURCIsImFwcF9pZCI6ImFwcGUwTUVzNnFYODQ4MCJ9
|
||||||
|
//
|
||||||
|
// 打开页面 读 html 代码发现参数添加 showVconsole 可以打开右下角 vConsole
|
||||||
|
// 然后发现通过 打印多媒体元素 打印出来的那条记录的 <video> 标签存在 currentSrc 属性
|
||||||
|
// document.querySelector('video').currentSrc
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getDetails24(courseList) {
|
||||||
|
// "resource_type": 2 / 4, 音频
|
||||||
|
// "resource_type": 2,
|
||||||
|
// 万科的下场
|
||||||
|
// jump_url: /content_page/eyJ0eXBlIjoyLCJyZXNvdXJjZV90eXBlIjoyLCJyZXNvdXJjZV9pZCI6IjE3IiwicHJvZHVjdF9pZCI6InBfNTg1N2Q1M2IzMzQyYV9UbTZUampURCIsImFwcF9pZCI6ImFwcGUwTUVzNnFYODQ4MCJ9
|
||||||
|
// 拼接host: https://h5.xiaoeknow.com 或 https://appe0mes6qx8480.h5.xiaoeknow.com
|
||||||
|
// 最好拼接后面那个,因为前面那个还是会 302 到后面那个
|
||||||
|
// https://h5.xiaoeknow.com/content_page/eyJ0eXBlIjoyLCJyZXNvdXJjZV90eXBlIjoyLCJyZXNvdXJjZV9pZCI6IjE3IiwicHJvZHVjdF9pZCI6InBfNTg1N2Q1M2IzMzQyYV9UbTZUampURCIsImFwcF9pZCI6ImFwcGUwTUVzNnFYODQ4MCJ9
|
||||||
|
// 会 302 到 https://appe0mes6qx8480.h5.xiaoeknow.com/p/course/audio/17?product_id=p_5857d53b3342a_Tm6TjjTD
|
||||||
|
|
||||||
|
// "resource_type": 4,
|
||||||
|
// 0627【观点】过去日夜喧嚣的“创业大街”,如今怎样了?
|
||||||
|
// jump_url: /content_page/eyJ0eXBlIjoyLCJyZXNvdXJjZV90eXBlIjoyLCJyZXNvdXJjZV9pZCI6ImFfNjQ5OWE5MjllNGIwYjJkMWM0MjkxOTI2IiwicHJvZHVjdF9pZCI6InBfNTg1N2Q1M2IzMzQyYV9UbTZUampURCIsImFwcF9pZCI6ImFwcGUwTUVzNnFYODQ4MCJ9
|
||||||
|
// 会 302 到 https://appe0mes6qx8480.h5.xiaoeknow.com/p/course/audio/a_6499a929e4b0b2d1c4291926?product_id=p_5857d53b3342a_Tm6TjjTD
|
||||||
|
|
||||||
|
for (let courseIndex = 26 || 0; courseIndex < courseList.length; courseIndex++) {
|
||||||
|
const course = courseList[courseIndex]
|
||||||
|
// console.log(course)
|
||||||
|
// return
|
||||||
|
|
||||||
|
// 跟随重定向(需要传 Cookie 的 anony_token,不然会重定向到自己。可以通过先访问一次拿到 set-cookie 再重新请求)
|
||||||
|
let result = await new Promise((resolve, reject) => {
|
||||||
|
var options = {
|
||||||
|
'method': 'GET',
|
||||||
|
'url': 'https://appe0mes6qx8480.h5.xiaoeknow.com' + course.jump_url,
|
||||||
|
// 'url': 'https://appe0mes6qx8480.h5.xiaoeknow.com/content_page/eyJ0eXBlIjoyLCJyZXNvdXJjZV90eXBlIjoyLCJyZXNvdXJjZV9pZCI6IjE3IiwicHJvZHVjdF9pZCI6InBfNTg1N2Q1M2IzMzQyYV9UbTZUampURCIsImFwcF9pZCI6ImFwcGUwTUVzNnFYODQ4MCJ9',
|
||||||
|
'headers': {
|
||||||
|
'Cookie': 'anony_token=9dcb10c78e3e237def2c69a3709d8d44'
|
||||||
|
},
|
||||||
|
followRedirect: false,
|
||||||
|
};
|
||||||
|
request(options, function (error, response) {
|
||||||
|
if (error) throw new Error(error);
|
||||||
|
// console.log(response.body);
|
||||||
|
//使用正则表达式匹配以https开头的网址,可以使用以下方法
|
||||||
|
var regex = /\<title\>Redirecting to (.*?)\<\/title\>/g; //匹配以https开头的非空白字符,直到遇到空白字符或字符串结束为止
|
||||||
|
var matches = regex.exec(response.body);
|
||||||
|
if (matches) {
|
||||||
|
console.log(matches[1]); //打印结果
|
||||||
|
// https://appe0mes6qx8480.h5.xiaoeknow.com/p/course/audio/17?product_id=p_5857d53b3342a_Tm6TjjTD
|
||||||
|
const url = matches[1]
|
||||||
|
var regex2 = /^.*?\/course\/audio\/(.*?)\?product_id=(.*?)$/g;
|
||||||
|
var matches2 = regex2.exec(url);
|
||||||
|
if (matches2) {
|
||||||
|
// console.log(matches2); //打印结果
|
||||||
|
const resource_id = matches2[1]
|
||||||
|
const product_id = matches2[2]
|
||||||
|
resolve({ resource_id, product_id })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
resolve(null)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
if (!result) {
|
||||||
|
console.log("失败1", courseIndex, course.resource_id)
|
||||||
|
fs.appendFileSync(path.join(__dirname, 'courseDetail', '24', `failed.txt`),
|
||||||
|
`失败1\t${courseIndex}\t${course.resource_id}\n`, 'utf-8')
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
let result2 = await new Promise((resolve, reject) => {
|
||||||
|
var options = {
|
||||||
|
'method': 'POST',
|
||||||
|
'url': 'https://appe0mes6qx8480.h5.xiaoeknow.com/xe.course.business.audio.info.get/2.0.0',
|
||||||
|
'headers': {
|
||||||
|
'authority': 'appe0mes6qx8480.h5.xiaoeknow.com',
|
||||||
|
'accept': 'application/json, text/plain, */*',
|
||||||
|
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
|
||||||
|
'content-type': 'application/x-www-form-urlencoded',
|
||||||
|
'cookie': 'sajssdk_2015_cross_new_user=1; sensorsdata2015jssdkcross=%7B%22%24device_id%22%3A%22188910ca4534a7-06c3769156869f-7e56547a-1638720-188910ca45483b%22%2C%22distinct_id%22%3A%22188faad51401330-0a45aeaa8b8e44-7e56547a-1638720-188faad5141188b%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%7D; Hm_lvt_32573db0e6d7780af79f38632658ed95=1687832846; Hm_lpvt_32573db0e6d7780af79f38632658ed95=1687832846; Qs_lvt_416447=1687832846; Qs_pv_416447=2667293149066936000; shop_version_type=4; ko_token=1242be138fd55c4ef4316cd54334b65c; xenbyfpfUnhLsdkZbX=0; dataUpJssdkCookie={"wxver":"","net":"","sid":""}; sajssdk_2015_new_user_appe0mes6qx8480_h5_xiaoeknow_com=1; sa_jssdk_2015_appe0mes6qx8480_h5_xiaoeknow_com=%7B%22distinct_id%22%3A%22u_6493fd71d1df1_FjNmN1cb6S%22%2C%22first_id%22%3A%22188faae9cb032a-042220d4e5b0b6-7e56547a-1638720-188faae9cb11002%22%2C%22props%22%3A%7B%7D%7D; logintime=1687834785; logintime=1687835002; shop_version_type=4',
|
||||||
|
'origin': 'https://appe0mes6qx8480.h5.xiaoeknow.com',
|
||||||
|
'referer': 'https://appe0mes6qx8480.h5.xiaoeknow.com/p/course/audio/a_6499a929e4b0b2d1c4291926?product_id=p_5857d53b3342a_Tm6TjjTD',
|
||||||
|
'req-uuid': '20230627105945000455932',
|
||||||
|
'sec-ch-ua': '"Not.A/Brand";v="8", "Chromium";v="114", "Microsoft Edge";v="114"',
|
||||||
|
'sec-fetch-mode': 'cors',
|
||||||
|
'sec-fetch-site': 'same-origin',
|
||||||
|
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.51'
|
||||||
|
},
|
||||||
|
form: {
|
||||||
|
'bizData[resource_id]': result.resource_id, // 'a_6499a929e4b0b2d1c4291926',
|
||||||
|
'bizData[product_id]': request.product_id, // 'p_5857d53b3342a_Tm6TjjTD',
|
||||||
|
'bizData[opr_sys]': 'Win32'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
request(options, function (error, response) {
|
||||||
|
if (error) throw new Error(error);
|
||||||
|
// console.log(response.body);
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"code": 0,
|
||||||
|
"msg": "success",
|
||||||
|
"data": {
|
||||||
|
"audio_info": {
|
||||||
|
"title": "0627\u3010\u89c2\u70b9\u3011\u8fc7\u53bb\u65e5\u591c\u55a7\u56a3\u7684\u201c\u521b\u4e1a\u5927\u8857\u201d\uff0c\u5982\u4eca\u600e\u6837\u4e86\uff1f",
|
||||||
|
"audio_url": "https:\/\/wechatapppro-1252524126.file.myqcloud.com\/appe0MEs6qX8480\/audio_compressed\/1687791920_23nbypljczgd58.mp3",
|
||||||
|
"audio_size": 0,
|
||||||
|
"audio_length": 433,
|
||||||
|
"start_at": "2023-06-27 07:00:02",
|
||||||
|
"state": 0,
|
||||||
|
"sign_url": "",
|
||||||
|
"show_in_menu": 1,
|
||||||
|
"can_select": 1
|
||||||
|
},
|
||||||
|
"is_auto_play": 1,
|
||||||
|
"audio_back_listen_switch": 1,
|
||||||
|
"is_try": 0,
|
||||||
|
"payment_url": "",
|
||||||
|
"product_try_info": [],
|
||||||
|
"only_h5_play": 0,
|
||||||
|
"jump_h5_url": ""
|
||||||
|
},
|
||||||
|
"forward_url": ""
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
let _result = JSON.parse(response.body)
|
||||||
|
if (_result.code === 0) {
|
||||||
|
// console.log(_result.data)
|
||||||
|
fs.appendFileSync(path.join(__dirname, 'courseDetail', '24', `index.csv`),
|
||||||
|
`${courseIndex}\t${result.resource_id}\t${_result.data?.audio_info?.start_at}\t${_result.data?.audio_info?.title}\t${_result.data?.audio_info?.audio_url}\n`, 'utf-8')
|
||||||
|
if (_result.data?.audio_info?.audio_url) {
|
||||||
|
fs.appendFileSync(path.join(__dirname, 'courseDetail', '24', `url.txt`),
|
||||||
|
`${_result.data?.audio_info?.audio_url}\n`, 'utf-8')
|
||||||
|
resolve()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log("失败2", courseIndex, course.resource_id)
|
||||||
|
fs.appendFileSync(path.join(__dirname, 'courseDetail', '24', `failed.txt`),
|
||||||
|
`失败2\t${courseIndex}\t${course.resource_id}\n`, 'utf-8')
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user