calibre recipe抓取中没有注意的空格

在编写calibre recipe抓取网页内容时,遇到特定章节下载失败的问题。通过观察发现,错误章节的URL在.html后多了一个空格,导致浏览器可以正常打开,而calibre下载时失败。解决方案是使用strip()方法移除URL中的空格,从而避免下载失败。此经验提醒我们在编写recipe时需仔细检查源代码,注意可能影响程序运行的小细节。
摘要由CSDN通过智能技术生成

        编写了几次recipe抓取网页上的内容,这次发现抓取中总是出现某些网页下载失败,因为calibre的出错信息比较简单,无法进行进一步的判断。出错信息如图:


        如果程序有错,那么实际上其它的章节都下载正常。经过反复的查看,发现每次都是每一,五,九章节下载出错,重复性很一致。问题如果不是程序,那么应该是页面的代码有什么不一样,可每次用浏览器打开相应章节页面均正常,没有出错,而且网页内容也可以在源代码中看到,那么也不是该相应章节有什么与众不同的防范措施。问题究竟出在哪哪儿呢?

        既然是一、五、九章节,这章节的url会不会有什么问题,造成只能用浏览器打开,不能用程序下载呢?于是反复分析目录页,终于发现,这几个页面的url在.html后多了一个空格,成了href="xxxxxxxxxxxxxxxxxxxxx.html "。这样浏览器会正确打开网页,而calibre的下载程序不会自动去除空格,打开网页就会出错,造成下载失败。发现了问题还是比较容易解决的,在获取url的字符串上调用strip()方法,出险url中的空格,然后生成feeds,下载网页成功,再也不见下载失败的提示,生成的电子书也不再缺少章节了。

        由此&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值