• 使用python获取angelived网站所有文章

    2008-05-11

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://peterpannju.blogbus.com/logs/20739579.html

        看了《dive into python》HTML处理那一章,忽然突发奇想,扫描 angelived 网站,将所有的文章下载下来,解析成纯文本文档,按照 angelived 的分类方法归类(文件夹)。

        在头脑中风暴了一下,一个晚上加上一个下午,脚本完成。
    大致思路是:
        1. (mainPageMine.py)从主页 http://angelived.org/page/1~47 解析文章信息,源网页的源代码类似与:

      <div class="entry">
        <div id="post-557">
          <h2>
            <a href="http://angelived.org/2008/05/01/will-you" rel="bookmark" title="我是废话">我是题目</a> </h2>

          拉拉拉,拉拉拉,我是正文 ^_^~~~
          嘿呦呦,嘿呦呦,我也是正文 ^_^~~~

          <a href="http://angelived.org/category/personaldevelopment/" title="显示这个类型的所有日志" rel="category tag">
            我是类型</a>
        </div>
      </div>

    转化为 entry dictionary: 

        href = http://angelived.org/2008/05/01/will-you/
        type = 我是类型
        name = 我是题目
        title = will-you

        2. (dialect.py)然后从刚的 entry dictionary 中获取网页信息,解析成纯文本,按照 type 保存到相应文件夹。源网页的源代码类似与:

    <h2><a href="http://angelived.org/2008/04/11/custom-essay/" rel="bookmark" title="我是废话">我是标题</a></h2>

      拉拉拉,拉拉拉,我是正文~~~
      嘿呦呦,嘿呦呦,我也是正文~~~ 

    <big>让更多的人看到这篇文章,请把它</big> <a ...

    转化为纯文本:

    我是标题

    拉拉拉,拉拉拉,我是正文~~~
    嘿呦呦,嘿呦呦,我也是正文~~~


    程序运行状况如下:

    >>> ls
    dialect.py   mainPageMine.py
    >>> ./mainPageMine.py &   -->需要等待几分钟,视个人网速而定
    >>> ls
    dialect.py   mainPageMine.py   安全急救  生活技巧  网站日志  学习技巧  自我发展
    dialect.pyc  mainPageMine.pyc  软件技巧  时间管理  心灵鸡汤  语录翻译

    好了,废话不多说,上附件:
    mainPageMine.py
    dialect.py


    随机文章:

    fonts.conf 2007-07-26
    ubuntu小技巧 2007-03-09

    收藏到:Del.icio.us




    评论

  • 1. 运行结果好像有点问题,似乎有些文章遗漏了,可能是 mainPageMine.py 解析时没有考虑到的特殊网页代码样式。但是也不想找了。
    2. 程序运行效率也是大问题,如果加上多线程,并行处理会更好。