成为小说家吧(syosetu.com)爬取脚本

下载脚本

代码公有领域释出,不支持R18区(大概?可能加个cookie就好了),有需求的请自行修改。

除此以外的 Bug 请在评论区直接提出来。


使用示例:

假设某个小说在小说家的网址为 https://ncode.syosetu.com/n8680fz/ 则在命令行输入

python3 main.py n8680fz

可选 HTML(整个网页)、Markdown(格式化正文)、TXT(无格式正文)输出

完成后每一篇章节按照命名规则存储在对应小说id的目录下


注意事项:

  • 依赖 requests 库,请按照 https://requests.readthedocs.io/en/latest/user/install/#install 安装(也可能不用装)
  • 在Linux使用时记得命令行配置 Proxy 环境变量
  • 支持增量爬取,但不支持更新之前爬取过的旧稿(担心爬不到新稿的话就把对应的文件删掉重爬即可)


配置项(文件内变量):

  • c_base_url: 小说家站点URL,无尾随斜杠
  • c_headers: 请求的头部
  • c_add_index: 是否在文件名之前加入章节序号,关闭此选项可能导致重名问题
  • c_separator: 存储为文件时章节序号和标题之间的分隔符
  • c_pad_head_count: 存储为文件时章节序号的前导零填充到的位数,设为0可以移除前导零
  • c_file_extension: 存储为文件时的后缀,可选:
    • ".html": 全页面抓取
    • ".md": 仅抓取正文(推荐方法)
    • ".txt": 抓取正文并剥离HTML标签(可能存在问题)

你的回應