// 监听拦截到的数据 window.dataList = [ ["昵称","发布时间","ID","时长","粉丝","关注","关注率","喜欢","喜欢率","热度","标题","链接"] ] function timestampToDateTime(timestamp) { // 将秒时间戳转换为毫秒(JavaScript Date 需要毫秒时间戳) const date = new Date(timestamp * 1000); const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以要+1 const day = String(date.getDate()).padStart(2, '0'); const hours = String(date.getHours()).padStart(2, '0'); const minutes = String(date.getMinutes()).padStart(2, '0'); const seconds = String(date.getSeconds()).padStart(2, '0'); return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; } window.onInterceptedData = function (data) { window.systemInfo = data if (data.url.includes('https://douhot.douyin.com/douhot/v1/material/video_billboard')) { const dataTemp = JSON.parse(data.responseBody) console.log(dataTemp) dataTemp.data.objs.forEach(element => { window.dataList.push([element.nick_name, timestampToDateTime(element.publish_time), element.item_id, element.item_duration, element.fans_cnt, element.follow_cnt, element.follow_rate, element.like_cnt, element.like_rate, element.score, element.item_title, "https://www.douyin.com/jingxuan?modal_id=" + element.item_id]) }); loadData() } if (data.url.includes('data_trends/trends?option=9')) { console.log(data) const itemID = data.url.split('/')[6] if (data.responseBody) { const dataTemp = JSON.parse(data.responseBody) console.log(dataTemp) for (let index = 0; index < window.dataList.length; index++) { const element = window.dataList[index]; if (window.dataList[index][2] == itemID) { window.dataList[0] = window.dataList[0].concat(dataTemp.data.map((e)=>{return e.date})) window.dataList[index] = window.dataList[index].concat(dataTemp.data.map((e)=>{return e.value})) } } } } }; let owoLoadList = [] function loadCSS (url) { if (owoLoadList.includes(url)) { return } owoLoadList.push(url) var link = document.createElement("link"); link.rel = "stylesheet"; link.type = "text/css"; link.href = url; document.getElementsByTagName("head")[0].appendChild(link); } setTimeout(() => { var box = document.getElementsByClassName('puge-box') if (!box[0]) { var insertElement = document.createElement("div"); insertElement.style.display = 'none' insertElement.classList.add('puge-box') insertElement.style.zIndex = '9665' insertElement.style.width = '300px' insertElement.style.height = '560px' insertElement.style.position = 'fixed' insertElement.style.right = '0' insertElement.style.top = '0' insertElement.style.fontSize = '18px' insertElement.style.lineHeight = '30px' insertElement.style.padding = '10px' insertElement.style.backgroundColor = 'white' document.body.appendChild(insertElement); if (window.pugeCreated) { window.pugeCreated(insertElement) window.pugeCreated = null } } }, 1000) var box = document.getElementsByClassName('puge-menu') if (!box[0]) { var insertElement = document.createElement("div"); insertElement.classList.add('puge-menu') insertElement.innerHTML = `
` document.body.appendChild(insertElement); } function clearData() { window.dataList = [ ["昵称","发布时间","ID","时长","粉丝","关注","关注率","喜欢","喜欢率","热度","标题"] ] loadData() } function loadData() { if (window.yhqd) window.yhqd.innerText = `已获取数据数量:${window.dataList.length - 1}` } // 保存CSV function fake_click(obj) { var ev = document.createEvent("MouseEvents"); ev.initMouseEvent( "click", true, false, window, 0, 0, 0, 0, 0 , false, false, false, false, 0, null ); obj.dispatchEvent(ev); } function download(name, data) { var urlObject = window.URL || window.webkitURL || window; var downloadData = new Blob([data]); var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a") save_link.href = urlObject.createObjectURL(downloadData); save_link.download = name; fake_click(save_link); } function saveCSV (name, data) { let saveData = '' data.forEach(element => { if (element) { saveData += element.join(',') saveData += '\r\n' } }); var urlObject = window.URL || window.webkitURL || window; var downloadData = new Blob(['\ufeff' + saveData], { type: 'text/csv,charset=UTF-8'}); var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a") save_link.href = urlObject.createObjectURL(downloadData); save_link.download = name; fake_click(save_link); } function saveData() { saveCSV ("output.csv", window.dataList) } function owostart () { const box = document.getElementsByClassName('puge-box')[0] // alert(box.style.display) if (box.style.display == 'none') { box.style.display = 'block' if (window.pugeCreated) { window.pugeCreated(document.getElementsByClassName('puge-box')[0]) window.pugeCreated = null } } else { box.style.display = 'none' } loadData() window.loadingDialog = function () { return } } function logPanel (el, max) { if (el) { el.innerHTML = '