123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- const axios = require('axios');
- const fetch = require('node-fetch'); // Node.js 18以下版本需要安装 node-fetch
- const mysql = require('mysql2/promise');
- const config = require('../etc/config.json');
- const tools = require('../tools');
- let page_index = 0
- let page_size = 50
- const dbConfig = config.isDebug?config.debug_mysql:config.release_mysql
- async function fetchSeriesList() {
- const cookieString = [
- 'store-region=cn-gd',
- 'passport_csrf_token=777699e0a85a3f179b3d49d1522f6534',
- 'sessionid=095d62d09558ad4413432fcd6e6f9f83',
- 'uid_tt=3d5c6ebd1397d1c638878c38a80b230f',
- 'csrf_session_id=cdc5b94ddec13774e679878ba18e230d'
- ].join('; ');
- const cookie = cookieString;
- const url = `https://www.changdunovel.com/novelsale/distributor/content/series/list/v1?permission_statuses=3%2C4&delivery_status=1&page_index=${page_index}&page_size=${page_size}&msToken=eQq4g1F1zAgsr6tvrmnjeHkDlGXqftkBzgFijt8FcqviZUnupHBBnPhRwyC6_IkH2ogO4WxdhKeO_JQi2iUpuNEZphry6XIBlv7VtJfV5OF5iLy9uXo1Izyv9UDurerJgRJlFoSzqUkf5Kd3_nTsq9oovDKN5n8Kn06hPKo5jDHWvw%3D%3D&a_bogus=YvsVgHULDNRbapAG8KQtHXcUJC9Mrs8yeliOWKUy9PE8TXUbAueypnG1boLX8JIQimpFNNP7wrF%2FFVpcQ%2FzTZqnkFmhvSmhWNsdcVXfL817vT-i2IpWPCEtEwvsr0STYTO9Ui5EXXtMFILc3gpVTA2K9SKFaQuYM%2F3NjdcUUSxg-g-iY9NbAyE%3D%3D`;
- const headers = {
- "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",
- "agw-js-conv": "str",
- "appid": "30008807",
- "apptype": "4",
- "distributorid": "1823764273348612",
- "priority": "u=1, i",
- "sec-ch-ua": "\"Chromium\";v=\"134\", \"Not:A-Brand\";v=\"24\", \"Microsoft Edge\";v=\"134\"",
- "sec-ch-ua-mobile": "?0",
- "sec-ch-ua-platform": "\"Windows\"",
- "sec-fetch-dest": "empty",
- "sec-fetch-mode": "cors",
- "sec-fetch-site": "same-origin",
- "x-secsdk-csrf-token": "000100000001238d43574083d4014d20fb02aa7b981d8cfdd0f47eea2618c791131e6e17dbb8182b64102ac64c30",
- "cookie": cookie,
- "Referer": "https://www.changdunovel.com/sale/short-play/list?permission_statuses=3%2C4&delivery_status=1&page_index=1&page_size=10",
- "Referrer-Policy": "strict-origin-when-cross-origin"
- };
-
- try {
- const response = await axios.get(url, { headers });
- let total = response.data.data.total
- let list = response.data.data.data
- let total_page_num = Math.floor(total/page_size) + (total%page_size>0?1:0)
- console.log(list);
- console.log(total);
- console.log(total_page_num);
- await insertDB(list)
- if(page_index<(total_page_num-1)){
- page_index++;
- fetchSeriesList();
- console.log("page_index::",page_index)
- }
- return response.data;
- } catch (error) {
- console.error('Error fetching series list:', error);
- }
- }
- async function insertDB(data) {
- try {
- const connection = await mysql.createConnection({
- ...dbConfig,
- multipleStatements: true
- });
-
- // await processVideoTitles(connection, data.map(item => item.title));
- console.log("data:",data)
- // 转换时间戳为MySQL datetime格式
- const values = data.map(item => [
- item.book_id,
- tools.getNewBookName(item.series_name),
- item.amount_limit_status,
- item.book_pool,
- item.category,
- item.category_text,
- item.creation_status,
- item.delivery_status,
- item.episode_amount,
- item.episode_price,
- item.free_episode_count,
- item.latest_update_time,
- item.need_show_publish_tag,
- item.on_shelf_time,
- item.original_thumb_url,
- item.permission_status,
- item.price_changed,
- item.publish_time,
- item.thumb_uri,
- item.thumb_url,
- item.wx_audit_status,
- item.wx_is_reject
- ]);
- let table_name = "fq_dj_lib"
- const insertSQL = `
- INSERT INTO ${table_name}
- (book_id, series_name, amount_limit_status, book_pool, category,
- category_text, creation_status, delivery_status, episode_amount,
- episode_price, free_episode_count, latest_update_time, need_show_publish_tag,
- on_shelf_time, original_thumb_url, permission_status, price_changed,
- publish_time, thumb_uri,thumb_url,wx_audit_status,wx_is_reject)
- VALUES ?
- ON DUPLICATE KEY UPDATE
- book_id = VALUES(book_id)
- `;
-
- await connection.query(insertSQL, [values]);
- await connection.end();
-
- console.log(`成功插入 ${values.length} 条记录到表 ${table_name}`);
- } catch (error) {
- console.error('处理消息失败:', error);
- throw error;
- }
- }
- // 调用函数
- fetchSeriesList();
|