Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

部分RSS,转换书籍成功,亚马逊推送失败 #691

Closed
Spaiol opened this issue Jun 2, 2024 · 14 comments
Closed

部分RSS,转换书籍成功,亚马逊推送失败 #691

Spaiol opened this issue Jun 2, 2024 · 14 comments

Comments

@Spaiol
Copy link

Spaiol commented Jun 2, 2024

作者您好,该RSS源:https://www.archdaily.com/feeds/rss
电子书可能正常生成,下载到本地也能阅读,但自动推送不能成功。单独或是合并成册均如此。

使用Sigil检查,提示:This EPUB has HTML files that are not well formed or are missing a DOCTYPE, html, head or body elements. Sigil can automatically fix these files, although this may very rarely result in minor data loss in extreme circumstances.

使用kindlegen转换生成的epub,提示如下:

*************************************************************
 Amazon kindlegen(MAC OSX) V2.9 build 0000-kdevbld 
 命令行电子书制作软件 
 Copyright Amazon.com and its Affiliates 2015 
*************************************************************

信息(prcgen):I1047: 已添加的元数据dc:Title        "ArchDaily"
信息(prcgen):I1047: 已添加的元数据dc:Date         "2024-06-02T03:18:08.800961+00:00"
信息(prcgen):I1047: 已添加的元数据dc:Creator      "KindleEar"
信息(prcgen):I1047: 已添加的元数据dc:Publisher    "KindleEar"
信息(prcgen):I1047: 已添加的元数据dc:Contributor  "calibre (7.2.0) [https://calibre-ebook.com]"
信息(prcgen):I1047: 已添加的元数据dc:Description  "Articles in this issue:
Life Ladprao Valley Residential Building / Openbox Architects
The oblique Sunshine / Man Office
Sendero Hotel / LOOP Design Studio
Pizzeria 22k / destilat
RizA ii House / React Architects
Houses in Peru: 5 Projects That Use Cement Blocks in Their Constructio
信息(prcgen):I1002: 解析文件  0000020
信息(cssparser):I10004: 不支持@规则,但 @import、@charset 和 @font-face 除外
警告(inputpreprocessor):W29007: 不使用的未知标签为: <picture>
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_0/index_u4.html     行: 0000009
警告(inputpreprocessor):W29007: 不使用的未知标签为: <picture>
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_0/index_u4.html     行: 0000019
警告(inputpreprocessor):W29007: 不使用的未知标签为: <picture>
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_1/index_u11.html     行: 0000009
警告(inputpreprocessor):W29007: 不使用的未知标签为: <picture>
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_1/index_u11.html     行: 0000019
警告(inputpreprocessor):W29007: 不使用的未知标签为: <picture>
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_2/index_u1.html     行: 0000009
警告(inputpreprocessor):W29007: 不使用的未知标签为: <picture>
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_2/index_u1.html     行: 0000115
警告(inputpreprocessor):W29007: 不使用的未知标签为: <picture>
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_3/index_u12.html     行: 0000009
警告(inputpreprocessor):W29007: 不使用的未知标签为: <picture>
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_3/index_u12.html     行: 0000093
警告(inputpreprocessor):W29007: 不使用的未知标签为: <picture>
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_4/index_u10.html     行: 0000009
警告(inputpreprocessor):W29007: 不使用的未知标签为: <picture>
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_4/index_u10.html     行: 0000019
警告(inputpreprocessor):W29007: 不使用的未知标签为: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_10/index_u9.html
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_4/index_u10.html     行: 0000019
警告(inputpreprocessor):W29007: 不使用的未知标签为: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/page_styles.css
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_4/index_u10.html     行: 0000019
警告(inputpreprocessor):W29007: 不使用的未知标签为: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/stylesheet.css
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_4/index_u10.html     行: 0000019
警告(inputpreprocessor):W29007: 不使用的未知标签为: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_8/index.html
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_4/index_u10.html     行: 0000019
警告(inputpreprocessor):W29007: 不使用的未知标签为: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_6/index_u3.html
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_4/index_u10.html     行: 0000019
警告(inputpreprocessor):W29007: 不使用的未知标签为: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_4/index_u10.html
      文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_4/index_u10.html     行: 0000019
错误(prcgen):E21018: 解析文件中的内容时,创建改进的 Mobi 域名失败。内容:<data-AmznRemoved> 文件中: /var/folders/v8/2l04mcqn7lb0p7szq7czzq6c0000gn/T/mobi-x4k7V5/feed_0/article_0/index_u4.html 行: 4294967295

不知是否是压缩图片后导致的异常,烦请您帮忙查看,是否在calibrek中设置什么参数能够解决?
谢谢~

@Spaiol
Copy link
Author

Spaiol commented Jun 2, 2024

截屏2024-06-02 下午2 10 38

@cdhigh
Copy link
Owner

cdhigh commented Jun 2, 2024

如果是这个错误的话,
此页面使用的picture 是html5新标签,可能kindle 不支持,待升级kindleear 将其转换为img

@Spaiol
Copy link
Author

Spaiol commented Jun 2, 2024

谢谢,期待升级

@cdhigh
Copy link
Owner

cdhigh commented Jun 2, 2024

推送错误的原因是kindle不支持svg内嵌的title标签。
不过我发现svg在kindle上真的很烦人,因为网站上的svg大多数是图标,在kindle上会自动放大,占满一屏,特别丑的同时对阅读也是没有价值的。
所以除了修改这个bug,我干脆默认将svg去掉了。
如果有某些rss需要svg图像,可以在网页的calibre选项中填写 {"keep_svg":true}

代码已更新,如果是GAE部署,可以直接部署即可使用新代码。
如果是Docker,可以等我之后更新Docker镜像,因为昨天才更新了一个大版本,支持在Kindle上在线阅读而不用推送到Kindle。

更新:Docker也已更新,还是使用3.1.0标签

@zangjingwei
Copy link

这个bug更改后south china morning post可以接收到了,不过还是有问题,标题前面会有一些无关的信息,看起来有点乱。另一个问题是有些print edition的recipe文章标题抓不到,标题不在正文中显示,只能在功能框下面显示,在此次更新前是没有这种问题的

@cdhigh
Copy link
Owner

cdhigh commented Jun 3, 2024

是的,我修改了title的正则表达式,因为之前有些标题提取不出来

你出问题的是哪个源,我看一下

@zangjingwei
Copy link

我订了washington post 和the hindu两个的print edition,里面多数标题是正常的,有的标题有问题。再就是south china morning post 的问题。the economist虽然文章不缺,但都不是全文,只有两三段。另外有些recipe没有推送内容,推出来是0,例如南方周末,这种挺多的

@cdhigh
Copy link
Owner

cdhigh commented Jun 3, 2024

这几个我都测试了,没有明显问题,你说的有的标题有问题,我没有找到,可以给出有问题的文章和文章的url吗?

至于文章不全的问题,KindleEar算是一个通用爬虫项目,面对着复杂的网络条件,具有非常大的挑战。

  1. 如果是recipe格式,可以修改提取内容规则而提取完整内容
  2. 如果是自定义RSS模式,因为是使用readabilit/justext尝试提取文章正文,各种文章结构不一,如何高效准确的提取文章正文是世界性难题,各种库琳琅满目,没有一个库能适合所有的情况,要不提取了不必要的内容,要不漏掉部分内容,我基于平衡复杂性和有效性的考虑选择了这两个库,所以如果有的不能很好的提取,还是需要写一个recipe,分析html结构进行有针对性的提取,我写的那个浏览器扩展可以协助减小一些工作量。
  3. 没有推送内容可能有两种情况,一种是源已失效,另一种是网站防爬虫,还有就是提取正文失败(要不就是完全的动态网页,全部使用js生成,要不就是文章结构太过复杂导致算法无所适从)。 具体来说南方周末的问题是一个依赖库feedparser的bug,我先暂时规避。

总的来说,只能碰到一个问题解决一个问题,估计一行一旦AI成熟和足够便宜,使用AI提取正文应该是一个趋势。
现在的AI要不太贵,要不上下文长度不够,所以很多事情还需要等等。

结论就是,KindleEar做为一个业余项目,我会尽力,但最终用户也不能不切实际的寄予太高的期望,一个问题一个问题的解决就好。

@zangjingwei
Copy link

今天的华盛顿邮报所有front page的文章,目录中的标题都在工具栏下边显示,文章正文的标题更类似于小标题。the hindu的第一篇文章,也是同样的,只不过正文标题只写了today's paper news,breaking news,top headlines-the hindu businessline,这就显然不是小标题了。

其实我觉得不改也没什么的,并不影响阅读,既然已经知道标题了,也没必要纠结在哪个位置

@cdhigh
Copy link
Owner

cdhigh commented Jun 3, 2024

你能给我rss地址和截图吗,我测试发现没你所说的问题,不管在电脑上看还是在kindle上看,我怀疑我们所说的不是同一个rss。
https://feedx.net/rss/washingtonpost.xml

@Spaiol
Copy link
Author

Spaiol commented Jun 4, 2024

谢谢,问题已解决,辛苦您了!

@zangjingwei
Copy link

咱们说的确实不是一个,feedx的源没有任何问题。我说的是recipe里面的源。
IMG_20240604_091330
IMG_20240604_091319
IMG_20240604_091308
IMG_20240604_091223
IMG_20240604_091209
IMG_20240604_091202
能看出区别吧,目录里面的标题和功能框下面的标题是一致的,但是和正文中的标题是不一致的。截图为,the hindu的目录第一篇文章,washington post的目录第二篇文章

@cdhigh
Copy link
Owner

cdhigh commented Jun 4, 2024

你查看recipe的源代码就可以知道了,这个排版是recipe代码中故意这样写的(体现这个recipe作者的某种意图吧),你完全可以将这个源码下载下来,改成你需要的排版,然后再上传就好。

如果recipe有问题,反馈给我没什么用,建议给calibre提一个pull request,calibre的recipe好像也不是其作者亲自维护的,都是其他人发现问题而pull request到github的。

@zangjingwei
Copy link

好的,多谢解答

@cdhigh cdhigh closed this as completed Jun 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants