【垃圾圣女】TT1069帖子提取工具
本帖最后由 咸鱼鱼 于 2025-12-27 05:31 编辑最近在TT1069看小说,有些喜欢的文想复制存下来
但是直接复制有乱码,于是看了一下代码
乱码以白色文字的形式出现在以下地方
<font class="jammer">.*?<\/font>
<span style="display:none">.*?<\/span>
全局替换一下即可
又因为有些帖子好几页,于是弄了一个直接下载所有页数的
记得点击只看作者下载,
不过因为作者可能还会聊天互动什么的,下载完了还是要删一删
如果你还需要修改其他功能
找AI改比我快
@Name
@name
@match
@match
// ==UserScript==
// @name 多页帖子提取器
// @namespace http://tampermonkey.net/
// @version 1.1
// @description提取多页postmessage内容,过滤乱码,使用页面标题
// @author You
// @match https://www.tt1069.com/bbs/forum.php?mod=viewthread*
// @match https://www.tt1069.com/bbs/thread-*
// @grant GM_xmlhttpRequest
// ==/UserScript==
(function() {
'use strict';
// 创建按钮
const btn = document.createElement('button');
btn.innerHTML = '提取全部内容';
btn.style.cssText = `
position: fixed;
top: 20px;
right: 20px;
z-index: 9999;
padding: 10px;
background: #2196F3;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
`;
document.body.appendChild(btn);
// 获取标题
function getTitle() {
const titleElement = document.querySelector("#thread_subject");
return titleElement ? titleElement.textContent.trim() : document.title;
}
// 过滤乱码
function cleanText(text) {
return text
.replace(/<font class="jammer">.*?<\/font>/g, '')
.replace(/<span style="display:none">.*?<\/span>/g, '')
.replace(/<[^>]*>/g, '')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/ /g, ' ')
.trim();
}
// 获取总页数
function getTotalPages() {
const pageElement = document.querySelector("#pgt > div > div > label > span");
if (pageElement) {
const title = pageElement.getAttribute('title');
if (title && title.includes('頁')) {
const match = title.match(/(\d+)/);
return match ? parseInt(match) : 1;
}
}
return 1;
}
// 获取当前页面内容
function getCurrentPageContent() {
const elements = document.querySelectorAll('');
let content = '';
elements.forEach((el, i) => {
const cleanContent = cleanText(el.innerHTML);
if (cleanContent) {
content += `=== 第${i + 1}楼 ===\n${cleanContent}\n\n`;
}
});
return content;
}
// 获取其他页面内容
function getPageContent(pageNum, currentTotalPosts) {
return new Promise((resolve) => {
const currentUrl = window.location.href;
const baseUrl = currentUrl.split('&page=');
const pageUrl = `${baseUrl}&page=${pageNum}`;
GM_xmlhttpRequest({
method: "GET",
url: pageUrl,
onload: function(response) {
const parser = new DOMParser();
const doc = parser.parseFromString(response.responseText, "text/html");
const elements = doc.querySelectorAll('');
let content = '';
elements.forEach((el, i) => {
const cleanContent = cleanText(el.innerHTML);
if (cleanContent) {
const floorNumber = currentTotalPosts + i + 1;
content += `=== 第${floorNumber}楼 ===\n${cleanContent}\n\n`;
}
});
resolve({
content: content,
postCount: elements.length
});
},
onerror: function() {
resolve({ content: '', postCount: 0 });
}
});
});
}
// 点击事件
btn.addEventListener('click', async function() {
btn.innerHTML = '提取中...';
btn.disabled = true;
const title = getTitle();
const totalPages = getTotalPages();
let allContent = `标题:${title}\n总页数:${totalPages}\n\n`;
// 获取当前页面内容
const currentPageContent = getCurrentPageContent();
allContent += currentPageContent;
// 计算当前页面已处理的帖子数量
const currentPagePosts = document.querySelectorAll('').length;
let totalProcessedPosts = currentPagePosts;
// 获取其他页面内容
for (let page = 2; page <= totalPages; page++) {
const result = await getPageContent(page, totalProcessedPosts);
allContent += result.content;
totalProcessedPosts += result.postCount;
}
// 添加统计信息
allContent += `\n=== 统计 ===\n总楼层数:${totalProcessedPosts}\n提取时间:${new Date().toLocaleString()}`;
// 下载文件
const blob = new Blob(, { type: 'text/plain;charset=utf-8' });
const a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = `${title}.txt`;
a.click();
btn.innerHTML = '提取全部内容';
btn.disabled = false;
});
})(); 这种乱码本质也算是一种防盗措施吧 哇好牛啊,之前有想保存的小说就是复制了之后有乱码完全看不了 直接下载所有页数方便很多呀,不用一页一页的弄:loveliness: 学会了。之前真是各种复制,慢慢删 好工具,我可以來拿存長篇了 有了这么方便的扒文脚本泥潭文学区帖子应该能更多吧 好方便的工具欸 以后遇到好看的文章可以一步到位了 好用,之前存文的时候都是手动删乱码的(不堪回首),谢谢分享 https://img.gamemale.com/album/202512/21/025159lywkirfumgftwuww.jpeg好耶,以后存文就不用自己手动一点一点删惹{:6_167:} 之前因为懒得保存,痛失了帅同的很多好文。好东西啊! 这个插件对多页数的帖子提取特别方便呢,谢谢分享。 虽然但是tt1069是什么网站?想要看小说楼主能分享下么? 一键式下载所有内容真是非常方便了 感觉能看到更多TT上搬运下来的优质文章了呢 确实好牛呢,终于有人解决这个问题了,不用一页页弄了 ai工具出来以后删乱码方便多了,之前搜的一些工具教程还素有点理解成本的,感谢分享~ 代码小白还是不懂怎么办:Q 挺有用的(´×ω×`)咱以前都是一个个删,弄得都烦了,记得泥潭一些小说还是直接带着这些代码当预览的 真的挺不错呢,估计能方便不少搬文的坛友,不过搬文之前最好先找作者授权