起點小說優化|AI續寫追更|VIP章節免費閱讀|支持本章說顯示|全本TXT一鍵下載|遊客書架

提供多功能強大的起點小說網站優化插件,極大地增強起點中文網的使用體驗:支持免費閱讀VIP付費章節,解鎖本章說,保存閱讀進度,還可以使用AI續寫追更……

< 腳本起點小說優化|AI續寫追更|VIP章節免費閱讀|支持本章說顯示|全本TXT一鍵下載|遊客書架的回應

提問/評論

§
發表於:2024-06-30

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

Hunter David作者
§
發表於:2024-08-02

你是说下载本章说.txt吗

§
發表於:2024-08-02

你是说下载本章说.txt吗

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

§
發表於:2024-08-02

你是说下载本章说.txt吗

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

Hunter David作者
§
發表於:2024-08-02

你是说下载本章说.txt吗

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

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

Hunter David作者
§
發表於:2024-08-02

本章说预览效果

§
發表於:2024-08-02

你是说下载本章说.txt吗

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

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

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

Hunter David作者
§
發表於:2024-08-02

你是说下载本章说.txt吗

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

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

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

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

Hunter David作者
§
發表於:2024-08-02

你是说下载本章说.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 David作者
§
發表於:2024-08-02

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

§
發表於:2024-08-02

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

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

§
發表於:2024-08-05

你是说下载本章说.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);

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

發表回覆

登入以回復