美文网首页
简书个人文章导出

简书个人文章导出

作者: 我叫Aliya但是被占用了 | 来源:发表于2021-05-24 14:41 被阅读0次
var https = require("https");
var fs = require("fs");

function request(url) {
  return new Promise((resolve, reject) => {
    var options = {
      method: "GET",
      hostname: "www.jianshu.com",
      path: url,
      headers: {
        Cookie: "remember_user_token=" + token + "; locale=zh-CN",
        Referer: "https://www.jianshu.com/writer",
        Accept: "application/json",
      },
    };

    var req = https.request(options, function (res) {
      var chunks = [];
      var size = 0;

      res.on("data", function (chunk) {
        chunks.push(chunk);
        size += chunk.length;
      });

      res.on("end", function (chunk) {
        var body = Buffer.concat(chunks, size);
        // let res = iconv.decode(body, 'utf-8');
        var res = body.toString("utf-8");
        resolve(JSON.parse(res));
      });

      res.on("error", reject);
    });

    req.end();
  });
}

function createFile(path, data) {
  const root = `./jianshu`;
  try {
    if (!path) {
      // 根目录
      fs.mkdirSync(root);
    } else if (path.name) {
      // 目录
      fs.mkdirSync(`${root}/${path.name}`);
    } else if (path.notebook_id) {
      // 文章
      const filepath = `${root}/${dic_dir[path.notebook_id]}/${path.title}.md`;
      fs.writeFileSync(filepath, data);
    }
  } catch (e) {
    console.log(e.message);
  }
}

// 登录后拿到名为 remember_user_token 的 cookie
const token = "W1sxMDA3MDI5N10sIiQyYSQxMSRjQ2k2cVhhVTAyek1DTFBMZnNIL1UuIiwiMTYyMTgyNDk2My4zNjQ0Njg4Il0%3D--4bc3f3749267abd427a0be03b084c9e9d6ad45e8";
let dic_dir = {};

createFile();

request("/author/notebooks")
  .then((res) => {
    return Promise.all(
      Array.from(res).map((item) => {
        createFile(item);
        dic_dir[item.id] = item.name;
        return request(`/author/notebooks/${item.id}/notes`);
      })
    );
  })

  .then((res) => {
    let dirs = [];
    Array.from(res).forEach((item) => dirs.push(...item));

    dirs.forEach((item) => {
      request(`/author/notes/${item.id}/content`)
        .then((file) => createFile(item, file.content))
        .catch((e) => console.error(e));
    });
  })

  .catch((e) => console.error(e));

相关文章

  • 简书个人文章导出

  • 简书文章导出备份

    来到简书后写了几篇文章,然后意识到备份文章及转换成不同的格式,是一个较普遍的需求,研究了一下简书自带的导出功能较简...

  • 导出简书文章到Hexo

    先贴脚本,具体有时间再说......

  • 简书文章如何批量导出备份

    前言:触网十多年,网上使用过的博客等服务少说也有十来家了,但最终还是选择了自己架设。因为自己苦心或百无聊赖时写下的...

  • 简书的文章能导出吗?

    以前在博客,QQ空间,微信写过一些东西,好多都不能导出,可惜了。 了解了下,简书是可以导出的,不过要在电脑端。 在...

  • Python导出简书图片

    一、说明 简书前几天莫名其妙的宕机让我有些后怕,数据备份提上日程。 简书虽然有导出文章的功能,但是文章中的图片还是...

  • 简书个人文章备份,图片批量导出小工具

    此小工具弥补简书的 “打包下载文章” 功能上的不足,它能批量的将简书发布的个人文章上用到的所有图片批量爬取并导...

  • 只是测试而已

    简书是否能够支持导出自己的文集 所有注册简书并写有文字的人,他们对自己的文章享有多大的权力?可以拥有完全的所有权吗?

  • 简书的导出功能

    兄弟们 简书限制文章发表上限了估计是 服务器满了吧大家赶紧跑路 换家写 技术博客不过简书这个导出功能还是很良心的再...

  • ​3.淘宝SEO

    本文是通过学习思考电商知识后所得的文章,文章是通过幕布编写并导出成思维导图,现输出到简书进行定期回顾及反思。 淘宝...

网友评论

      本文标题:简书个人文章导出

      本文链接:https://www.haomeiwen.com/subject/xuyxsltx.html