Calibre 使用教程之抓取 RSS 制成电子书

“制作Kindle电子书”相关阅读

给这篇文章写一条留言

提示:带 * 标记的是必填项。您填写的邮箱地址将会被保密。首次留言将会在通过人工审核后显示。如果是提出问题,请务必提供尽可能多信息,这有助于他人更好地理解你所提出的问题。

小伙伴们写下了 66 条留言

  1. 请问我一直用calibre抓南华早报都抓得出整篇文章,但是两个星期前突然就只能抓到标题或者一点点摘要是怎么回事呢?也不是抓取失败,但是只有标题或一点摘要。
    rss地址是:https://www.scmp.com/rss/4/feed

    • 如果你之前抓取过全文,那就是这家媒体现在取消了 RSS 的全文供稿,只提供了摘要。现在很多网站为了避免消耗不能带来盈利的流量,大多已经不再提供全文 RSS 供稿,或干脆取消 RSS 供稿。

    • 因为人民网的页面代码结构改变了,导致内置的这个脚本无法正确抓取内容,你需要参考内置的这个脚本以适应新页面代码结构。下面这个脚是修改后的,测试了一下可以正常抓取(脚本的使用可参考《Calibre 使用教程之抓取网站页面制成电子书》这篇文章)。

      from calibre.web.feeds.news import BasicNewsRecipe
      import os
      import time
      
      
      class AdvancedUserRecipe1277129332(BasicNewsRecipe):
          title = u'人民日报'
          oldest_article = 2
          max_articles_per_feed = 100
          __author__ = 'zzh'
      
          pubisher = 'people.com.cn'
          description = 'People Daily Newspaper'
          language = 'zh'
          category = 'News, China'
          remove_javascript = True
          use_embedded_content = False
          no_stylesheets = True
          encoding = 'GB2312'
          language = 'zh'
          conversion_options = {'linearize_tables': True}
          masthead_url = 'http://www.people.com.cn/img/2010wb/images/logo.gif'
      
          feeds = [
              (u'时政', u'http://www.people.com.cn/rss/politics.xml'),
              (u'国际', u'http://www.people.com.cn/rss/world.xml'),
              (u'经济', u'http://www.people.com.cn/rss/finance.xml'),
              (u'体育', u'http://www.people.com.cn/rss/sports.xml'),
              (u'教育', u'http://www.people.com.cn/rss/edu.xml'),
              (u'文化', u'http://www.people.com.cn/rss/culture.xml'),
              (u'社会', u'http://www.people.com.cn/rss/society.xml'),
              (u'传媒', u'http://www.people.com.cn/rss/media.xml'),
              (u'娱乐', u'http://www.people.com.cn/rss/ent.xml'),
              # (u'汽车', u'http://www.people.com.cn/rss/auto.xml'),
              (u'海峡两岸', u'http://www.people.com.cn/rss/haixia.xml'),
              # (u'IT频道', u'http://www.people.com.cn/rss/it.xml'),
              # (u'环保', u'http://www.people.com.cn/rss/env.xml'),
              # (u'科技', u'http://www.people.com.cn/rss/scitech.xml'),
              # (u'新农村', u'http://www.people.com.cn/rss/nc.xml'),
              # (u'天气频道', u'http://www.people.com.cn/rss/weather.xml'),
              (u'生活提示', u'http://www.people.com.cn/rss/life.xml'),
              (u'卫生', u'http://www.people.com.cn/rss/medicine.xml'),
              # (u'人口', u'http://www.people.com.cn/rss/npmpc.xml'),
              # (u'读书', u'http://www.people.com.cn/rss/booker.xml'),
              # (u'食品', u'http://www.people.com.cn/rss/shipin.xml'),
              # (u'女性新闻', u'http://www.people.com.cn/rss/women.xml'),
              # (u'游戏', u'http://www.people.com.cn/rss/game.xml'),
              # (u'家电频道', u'http://www.people.com.cn/rss/homea.xml'),
              # (u'房产', u'http://www.people.com.cn/rss/house.xml'),
              # (u'健康', u'http://www.people.com.cn/rss/health.xml'),
              # (u'科学发展观', u'http://www.people.com.cn/rss/kxfz.xml'),
              # (u'知识产权', u'http://www.people.com.cn/rss/ip.xml'),
              # (u'高层动态', u'http://www.people.com.cn/rss/64094.xml'),
              # (u'党的各项工作', u'http://www.people.com.cn/rss/64107.xml'),
              # (u'党建聚焦', u'http://www.people.com.cn/rss/64101.xml'),
              # (u'机关党建', u'http://www.people.com.cn/rss/117094.xml'),
              # (u'事业党建', u'http://www.people.com.cn/rss/117095.xml'),
              # (u'国企党建', u'http://www.people.com.cn/rss/117096.xml'),
              # (u'非公党建', u'http://www.people.com.cn/rss/117097.xml'),
              # (u'社区党建', u'http://www.people.com.cn/rss/117098.xml'),
              # (u'高校党建', u'http://www.people.com.cn/rss/117099.xml'),
              # (u'农村党建', u'http://www.people.com.cn/rss/117100.xml'),
              # (u'军队党建', u'http://www.people.com.cn/rss/117101.xml'),
              # (u'时代先锋', u'http://www.people.com.cn/rss/78693.xml'),
              # (u'网友声音', u'http://www.people.com.cn/rss/64103.xml'),
              # (u'反腐倡廉', u'http://www.people.com.cn/rss/64371.xml'),
              # (u'综合报道', u'http://www.people.com.cn/rss/64387.xml'),
              # (u'中国人大新闻', u'http://www.people.com.cn/rss/14576.xml'),
              # (u'中国政协新闻', u'http://www.people.com.cn/rss/34948.xml'),
          ]
          keep_only_tags = [
              dict(name='div', attrs={'class': 'clearfix w1000_320 text_title'}),
              dict(name='div', attrs={'class': 'box_con'}),
          ]
          remove_tags = [
              dict(name='div', attrs={'class': 'fr'}),
          ]
    • 可以,不过需要你修改内置脚本代码实现,添加或修改其中的 reverse_article_order 属性,将其设置为 true 即可。

      • 为什么calibre邮件推送的mobi(无论是新的旧的或者both我都试过了),都不能自定义设置字体,是什么原因?有什么解决方法吗?

        • Calibre 抓取的 MOBI 格式是旧的 MOBI7 标准,而原生系统的自定义字体仅支持新的 KF8 标准的 MOBI 格(或 AZW3)格式。

    • 指定封面需要通过自定义脚本实现。你可以参考内置的脚本,自己创建一个自定义脚本,在其中添加 Calibre 提供的get_cover_url() 方法,为抓取的电子书指定封面。

  2. 请问Calibre抓取期刊,设置了邮件推送并且同时用USB连着Kindle,是会同一本期刊重复推送两次么?最近开着Calibre把Kindle连到电脑上时无意中发现期刊前面都写着(2 books),查看文件位置也不一样,在Kindle上的显示是总目录底下跟期刊目录下各有一本

    • 判断是否重复推送两次,可以登录 http://z.cn/myk 检查一下”我的内容“页面“个人文档”中是否有重复推送的内容。

  3. 投稿这个东西
    http://www.toolstack.cn/a/26
    可以自己抓取没有rss网站的内容做成rss

  4. 学到了~我是订阅的pocket,官方提供rss导出,可以把kindle当作稍后阅读工具

  5. 想请问一下为什么用calibre抓取新闻之后在kindle上只显示标题和日期,内容都是空白呢?

  6. BBC中文网

    RSS地址:http://www.bbc.com/zhongwen/simp/index.xml
    这个源应该没错吧?

    • Lily 您好。确认源是没有错误的,不过此网址在大陆是被屏蔽的,如果是在本机抓取请使翻墙。

  7. 请问点击抓取新闻生成书后,双击打开书后出现 错误是为什么,谢谢

  8. 【抓取成功后,Calibre 会生成一本期刊格式的电子书并自动存放到书库中。如果你设置了邮件推送,Calibre 还会把生成好的电子书自动推送到云端,以便自动同步到你的 Kindle 中。】
    这里生成的电子书是epub格式的,推送到云端会收到
    【尊敬的客户,

    您从2016年3月12日6:14 发出的如下文档无法发送到您指定的Kindle上:
    * Wo De Ding Yue [Zhou Liu , 12 3Yue 2016] – calibre.epub

    Kindle个人文档服务目前只能转换并发送以下类型的文档:
    Microsoft Word (.doc, .docx)
    RTF文件(.rtf)
    HTML(.htm, .html)
    TXT文件(.txt)
    Zip, x-zip压缩文件
    Mobi格式电子书

    JPEG (.jpg), GIF (.gif), Bitmap (.bmp) 和 PNG (.png) 格式的图片。
    Adobe PDF (.pdf)文档可维持原文件格式,发送至您的Kindle。

    Adobe PDF (.pdf)文档可转换为Kindle格式发送,目前处于试用阶段。

    如上述格式的文档未成功发送,请确认文档是否受到密码保护或被加密。特别说明,目前最新的Kindle支持读取受密码保护的PDF文档。

    要怎么自动生成mobi 格式文件

    • 奔跑 你好。请进入 Calibre 的设置,在“操作方式”中,将“首选输出格式”设置为“MOBI”。