最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【记录】为BlogsToWordPress添加点点轻博客(BlogDiandian)的支持

Python crifan 3037浏览 0评论

对于northcamelBlogsToWordPress中提出的需求,希望添加点点轻博客搬家到wordpress的支持,虽然不太同意其看法,但是这样的功能,还是可以有的。

此处简单记录此过程和一些事项。

1.话说,点点轻博客,支持免费域名,所以除了常见的:

http://xxx.diandian.com

的类型的博客,也支持这些自定义的博客:

http://www.zoushijie.com/
http://blog.nuandao.com
http://nosta1gie.com
http://www.sankin77.com
http://www.zoushijie.com/post/2012-09-22/40038845472

但是,对于http://blog.nuandao.com,其本身对应的主页却又是:

http://www.nuandao.com/

所以,算是在博客的地址中,格式就很多,为了支持这些格式,就很麻烦了。

2.对于每种,或者说每个点点的博客,其内部的html,架构还是比较乱的。

html本身包含了N多的css定义。

且各种结构,比如标题,时间,标签等,都不统一,所以,为了解析这些值,要写N多特殊处理的代码,属于极其繁琐的。

所以,此处,也只能暂时支持部分的,已经测试过的博客。

3.帖子的地址,也乱起八糟的

常见的博客的帖子的地址,都是类似于

http://www.zoushijie.com/post/2012-09-28/40039054394

的,但是竟然遇到一个变态的,即

http://www.zoushijie.com/post/2012-09-28/40039054394

中的“上一篇”的地址是:

http://www.zoushijie.com/0000/0015

然后该帖子的之后的帖子的地址,又都是继续正常的了:

http://www.zoushijie.com/post/2012-09-28/40038784608

所以,点点轻博客,不仅页面内部乱,url地址也都够乱的。

4.上一篇 和 下一篇 的class竟然都是nex_page

下面有空就细数一下其html结构到底乱在哪里了

这个博客的最新一个帖子,首先地址就是特殊的,是类似于wordpress中填写了固定链接的:

http://www.zoushijie.com/huoshanhu

但是更加变态的是,由于只前面每个帖子的上一页和下一页的html代码是:

                    <a href="http://www.zoushijie.com/huoshanhu" class="next_page">
                    
        上一篇</a>
                 
                 
                 <a class="jump_page" href="http://www.zoushijie.com/random">随机文章</a>
                  <!--循环输出页号-->
                
 <!--判断是否有下一页-->
                
                    <a href="http://www.zoushijie.com/post/2012-10-12/40040684514" class="next_page">
                    
                     下一篇</a>

导致程序是去判断下一页是使用的是:

            #http://www.zoushijie.com/post/2012-09-22/40038845472
                        # <a href="http://www.zoushijie.com/post/2012-09-25/40039034807" class="next_page">
                        
            # 上一篇</a>
                     # ...
                        # <a href="http://www.zoushijie.com/post/2012-09-22/40039124532" class="next_page">
                        
                         # 下一篇</a>
             #Note: both are 'next_page', here find the first one
            foundNextPage = soup.find(name="a", attrs={"class":"next_page"});
            logging.info("foundNextPage=%s", foundNextPage);
            if(foundNextPage):
                nextHref = foundNextPage['href'];
                logging.info("nextHref=%s", nextHref);
                if(nextHref):
                    nextLinkStr = nextHref;
                    foundNext = True;

结果却由于

http://www.zoushijie.com/huoshanhu

中的是:

                 <a class="jump_page" href="http://www.zoushijie.com/random">随机文章</a>
                  <!--循环输出页号-->
                
 <!--判断是否有下一页-->
                
                    <a href="http://www.zoushijie.com/post/2012-10-12/40040664173" class="next_page">
                    
                     下一篇</a>

导致,本来应该是没有下一篇的,但是由于误解析出来,上一篇的地址为“下一篇”中的http://www.zoushijie.com/post/2012-10-12/40040664173,最后导致程序死循环。

所以,此处变态的,上一篇和下一篇,都是使用next_page,就不是一般的挫人能设计出来的。。。

 

 


【已完整测试部分点点博客】

目前由于点点轻博客的内部页面太换乱,导致想要支持众多的各个点点旗下的各个博客的话,就要写成千上万的规则去解析每种页面。

很明显,这个是不现实的。

所以,目前能做到的是,测试了其中一些地址。

其他想要博客搬家的人,尽量在可能的前提下,把你的而博客的模板,使用和已测试博客的同样的模板,已保证搬家顺利。

如果各种模板都试了,结果还是无法搬家的话,再确认先去使用带带“上一篇”和“下一篇”的模板,然后再来找我,我尽量再为你专门给你这个模板,添加支持,使得可以实现博客搬家。

 

附上一些完整测试过的点点博客:

韩倩玮:

BlogsToWordpress.py -s
http://hanhan–.diandian.com

走世界:

BlogsToWordpress.py -s
http://www.zoushijie.com/

Stephen:

BlogsToWordpress.py -s
http://stephenwei.diandian.com

千阳:

BlogsToWordpress.py -s
http://matchachiharu.diandian.com

转载请注明:在路上 » 【记录】为BlogsToWordPress添加点点轻博客(BlogDiandian)的支持

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (3)

  1. 牛X的不行呢!佩服。
    土木坛子10年前 (2014-11-07)回复
92 queries in 0.185 seconds, using 22.16MB memory