Greasy Fork is available in English.

起点小说优化|AI续写追更|VIP章节免费阅读|支持本章说显示|全本TXT一键下载|游客书架

提供多功能强大的起点小说网站优化插件,极大的增强起点中文网的使用体验:,支持免费阅读VIP付费章节,解锁本章说,保存阅读进度,还可以使用AI续写追更....

< Feedback on 起点小说优化|AI续写追更|VIP章节免费阅读|支持本章说显示|全本TXT一键下载|游客书架

Question/comment

§
Posted: 30/06/2024

大佬,我有个想法,能不能无视书源直接提取出本章说出来,就算没有书源也可以直接提取出来,当然最好是有段落间隔开来。因为最近发现很多小说不仅常见的几个书源不支持,还有的会故意章节号相差一两个出来导致章节数对应不上无法导入。针对这个极端情况,我们可以一边自己随便找个网站看,另一边切换一下看本章说。

Hunter DavidAuthor
§
Posted: 02/08/2024

你是说下载本章说.txt吗

§
Posted: 02/08/2024

你是说下载本章说.txt吗

差不多。如果有的话也行。毕竟有些小说因为没收录或者章节数字对不上是无法使用的,如果有这种方法跳过的话也是一种方法

§
Posted: 02/08/2024

你是说下载本章说.txt吗

因为这个原因,所以起点app我还是无法卸载,还是要每天做任务赚章节卡,就是用在这些特殊情况上

Hunter DavidAuthor
§
Posted: 02/08/2024

你是说下载本章说.txt吗

因为这个原因,所以起点app我还是无法卸载,还是要每天做任务赚章节卡,就是用在这些特殊情况上

加到插件里了,本章说TXT下载插件 1.0.0 beta

Hunter DavidAuthor
§
Posted: 02/08/2024

本章说预览效果

§
Posted: 02/08/2024

你是说下载本章说.txt吗

因为这个原因,所以起点app我还是无法卸载,还是要每天做任务赚章节卡,就是用在这些特殊情况上

加到插件里了,本章说TXT下载插件 1.0.0 beta

请问应该如何操作?我使用了下发现一直弹出加载配置失败,请去设置页面检查是否启用了不兼容的插件!我把其它插件都删了还是一样,然后换了另一个浏览器,一开始还好,但把本章说TXT下载插件 1.0.0 beta安装上去后又弹出了这个警告。用不了

Hunter DavidAuthor
§
Posted: 02/08/2024

你是说下载本章说.txt吗

因为这个原因,所以起点app我还是无法卸载,还是要每天做任务赚章节卡,就是用在这些特殊情况上

加到插件里了,本章说TXT下载插件 1.0.0 beta

请问应该如何操作?我使用了下发现一直弹出加载配置失败,请去设置页面检查是否启用了不兼容的插件!我把其它插件都删了还是一样,然后换了另一个浏览器,一开始还好,但把本章说TXT下载插件 1.0.0 beta安装上去后又弹出了这个警告。用不了

你先别用这个了,我刚刚调试的没问题,放到系统里就有bug了,代码被压缩了,晚点再搞

Hunter DavidAuthor
§
Posted: 02/08/2024

你是说下载本章说.txt吗

因为这个原因,所以起点app我还是无法卸载,还是要每天做任务赚章节卡,就是用在这些特殊情况上

加到插件里了,本章说TXT下载插件 1.0.0 beta

请问应该如何操作?我使用了下发现一直弹出加载配置失败,请去设置页面检查是否启用了不兼容的插件!我把其它插件都删了还是一样,然后换了另一个浏览器,一开始还好,但把本章说TXT下载插件 1.0.0 beta安装上去后又弹出了这个警告。用不了

我把源代码发出来,你在地址栏粘贴我后面的,回车就可以了

javascript:setTimeout(() => {
  const button = document.createElement("button");
  button.innerText = "下载当前章节本章说";
  button.style.position = "fixed";
  button.style.top = "10px";
  button.style.right = "10px";
  button.style.zIndex = 1000;
  button.style.padding = "10px";
  button.style.backgroundColor = "#007bff";
  button.style.color = "#fff";
  button.style.border = "none";
  button.style.borderRadius = "5px";
  button.style.cursor = "pointer";
  document.body.appendChild(button);

  button.addEventListener("click", async () => {
    alert(
      "内容较多,点击后请等待2-3分钟,短时间内下载大量本章说可能导致IP封禁"
    );

    let cid = location.href.split("/")[location.href.split("/").length - 2];
    let bid = location.href.split("/")[location.href.split("/").length - 3];
    let csrfToken = document.cookie
      .split(";")
      .find((e) => e.indexOf("_csrfToken") != -1)
      .split("=")[1];

    const reviewSummaryUrl = `https://www.qidian.com/ajax/chapterReview/reviewSummary?bookId=${bid}&chapterId=${cid}&_csrfToken=${csrfToken}`;

    try {
      const summaryResponse = await fetch(reviewSummaryUrl, {
        headers: {
          Accept: "application/json, text/plain, */*",
          "User-Agent": "Mozilla/5.0",
        },
      });
      const summaryData = await summaryResponse.json();
      const segmentIds = summaryData.data.list.map((item) => item.segmentId);

      let allReviews = "";
      let segmentIndex = 1;

      for (const segmentId of segmentIds) {
        allReviews += `-------本章说 段落${segmentIndex}---------\n`;
        const reviewListUrl = `https://www.qidian.com/ajax/chapterReview/reviewList?bookId=${bid}&chapterId=${cid}&page=1&pageSize=20&segmentId=${segmentId}&type=2&_csrfToken=${csrfToken}`;
        const reviewResponse = await fetch(reviewListUrl, {
          headers: {
            Accept: "application/json, text/plain, */*",
            "User-Agent": "Mozilla/5.0",
          },
        });
        const reviewData = await reviewResponse.json();
        reviewData.data.list.forEach((item) => {
          allReviews += `${item.nickName}:${item.content}\n`;
        });
        segmentIndex++;
      }

      const blob = new Blob([allReviews], { type: "text/plain" });
      const url = URL.createObjectURL(blob);
      const a = document.createElement("a");
      a.href = url;
      a.download = "reviews.txt";
      document.body.appendChild(a);
      a.click();
      document.body.removeChild(a);
      URL.revokeObjectURL(url);
    } catch (error) {
      console.error("获取本章说列表失败", error);
    }
  });
}, 2000);
Hunter DavidAuthor
§
Posted: 02/08/2024

先这样处理,不然我还得发个新版本,太麻烦了

§
Posted: 02/08/2024

先这样处理,不然我还得发个新版本,太麻烦了

奇怪,插件怎么无法自己创建了,按了没反应。以前试过不是这样的啊

§
Posted: 05/08/2024

你是说下载本章说.txt吗

因为这个原因,所以起点app我还是无法卸载,还是要每天做任务赚章节卡,就是用在这些特殊情况上

加到插件里了,本章说TXT下载插件 1.0.0 beta

请问应该如何操作?我使用了下发现一直弹出加载配置失败,请去设置页面检查是否启用了不兼容的插件!我把其它插件都删了还是一样,然后换了另一个浏览器,一开始还好,但把本章说TXT下载插件 1.0.0 beta安装上去后又弹出了这个警告。用不了

我把源代码发出来,你在地址栏粘贴我后面的,回车就可以了

javascript:setTimeout(() => {
  const button = document.createElement("button");
  button.innerText = "下载当前章节本章说";
  button.style.position = "fixed";
  button.style.top = "10px";
  button.style.right = "10px";
  button.style.zIndex = 1000;
  button.style.padding = "10px";
  button.style.backgroundColor = "#007bff";
  button.style.color = "#fff";
  button.style.border = "none";
  button.style.borderRadius = "5px";
  button.style.cursor = "pointer";
  document.body.appendChild(button);

  button.addEventListener("click", async () => {
    alert(
      "内容较多,点击后请等待2-3分钟,短时间内下载大量本章说可能导致IP封禁"
    );

    let cid = location.href.split("/")[location.href.split("/").length - 2];
    let bid = location.href.split("/")[location.href.split("/").length - 3];
    let csrfToken = document.cookie
      .split(";")
      .find((e) => e.indexOf("_csrfToken") != -1)
      .split("=")[1];

    const reviewSummaryUrl = `https://www.qidian.com/ajax/chapterReview/reviewSummary?bookId=${bid}&chapterId=${cid}&_csrfToken=${csrfToken}`;

    try {
      const summaryResponse = await fetch(reviewSummaryUrl, {
        headers: {
          Accept: "application/json, text/plain, */*",
          "User-Agent": "Mozilla/5.0",
        },
      });
      const summaryData = await summaryResponse.json();
      const segmentIds = summaryData.data.list.map((item) => item.segmentId);

      let allReviews = "";
      let segmentIndex = 1;

      for (const segmentId of segmentIds) {
        allReviews += `-------本章说 段落${segmentIndex}---------\n`;
        const reviewListUrl = `https://www.qidian.com/ajax/chapterReview/reviewList?bookId=${bid}&chapterId=${cid}&page=1&pageSize=20&segmentId=${segmentId}&type=2&_csrfToken=${csrfToken}`;
        const reviewResponse = await fetch(reviewListUrl, {
          headers: {
            Accept: "application/json, text/plain, */*",
            "User-Agent": "Mozilla/5.0",
          },
        });
        const reviewData = await reviewResponse.json();
        reviewData.data.list.forEach((item) => {
          allReviews += `${item.nickName}:${item.content}\n`;
        });
        segmentIndex++;
      }

      const blob = new Blob([allReviews], { type: "text/plain" });
      const url = URL.createObjectURL(blob);
      const a = document.createElement("a");
      a.href = url;
      a.download = "reviews.txt";
      document.body.appendChild(a);
      a.click();
      document.body.removeChild(a);
      URL.revokeObjectURL(url);
    } catch (error) {
      console.error("获取本章说列表失败", error);
    }
  });
}, 2000);

你好,源代码怎么用啊,我发现用创建插件和以前不一样了,直接粘贴后增加到本地插件列表与导入创建都无反应,现在新版的应该如何操作

Post reply

Sign in to post a reply.