当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 10 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 批量html转换txt,python实现
帖子发表于 : 2010-10-15 16:55 
头像

注册: 2009-10-09 12:54
帖子: 989
地址: 北京某胡同
系统: debian
送出感谢: 4
接收感谢: 2
最近要在手机上看一个CHM的文档,用7z解压出来那么多个,头都大了
就写了个脚本,功能是把一个文件夹下的所有html文件简单处理了一下,然后转换成txt的,并把这些txt输出到指定的文件夹下

使用方法:
代码:
sudo chmod +x html2txt.py
./html2txt.py /inputdir /outputdir


源代码:
代码:
#!/usr/bin/env python
#-*- coding: utf-8 -*-

import HTMLParser
import urllib
import os.path, os
import sys


class parseText(HTMLParser.HTMLParser):
    def handle_data(self, data):
        if data != '\n' and data.isspace():
            pass
        else:
            self.text.append(data)

def main(htmlpath, outpath):
    lParser = parseText()
    namelist = os.listdir(htmlpath)
    if os.path.exists(outpath):
        print '输出目录已存在,请重新输入!'
        sys.exit()
    else:
        os.mkdir(outpath)

    for name in namelist:
        lParser.text = []
        lParser.feed(urllib.urlopen(os.path.join(htmlpath, name)).read())
        lParser.close()
        f = open(os.path.join(outpath, os.path.splitext(name)[0] + '.txt'), 'w')
        f.writelines(lParser.text)
        f.close()

if __name__ == '__main__':
    main(sys.argv[1], sys.argv[2])


附件:
html2txt.py [879 Bytes]
被下载 104 次


_________________
python写的一个跨平台的聊天软件TChat。支持文件传输。
android防火墙droidwall更新,添加月流量统计功能。有兴趣的点我:D
原创Android社交应用[飘],开源免费!
页首
 用户资料  
 
2 楼 
 文章标题 : Re: 批量html转换txt,python实现
帖子发表于 : 2010-10-15 17:17 
头像

注册: 2010-08-08 20:02
帖子: 741
系统: Ubuntu 12.04
送出感谢: 0 次
接收感谢: 1
沙发 :em06


_________________
退避九舍:富贵不能淫,贫贱不能移,威武不能屈:坚持ubuntu不动摇!


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 批量html转换txt,python实现
帖子发表于 : 2010-10-15 19:54 
头像

注册: 2009-11-22 15:29
帖子: 317
送出感谢: 1
接收感谢: 0 次
:em11


_________________
时间就像一张网,你撒在那里,你的收获就在那里。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 批量html转换txt,python实现
帖子发表于 : 2010-10-16 10:10 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
$ ./html2txt.py ~/文档/default ~/文档/txt
Traceback (most recent call last):
File "./html2txt.py", line 35, in <module>
main(sys.argv[1], sys.argv[2])
File "./html2txt.py", line 29, in main
lParser.close()
File "/usr/lib/python2.6/HTMLParser.py", line 112, in close
self.goahead(1)
File "/usr/lib/python2.6/HTMLParser.py", line 164, in goahead
self.error("EOF in middle of construct")
File "/usr/lib/python2.6/HTMLParser.py", line 115, in error
raise HTMLParseError(message, self.getpos())
HTMLParser.HTMLParseError: EOF in middle of construct, at line 411, column 11


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 批量html转换txt,python实现
帖子发表于 : 2010-10-16 10:23 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
sed -e :a -e 's/<[^>]*>//g;/</N;//ba' file.html


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 批量html转换txt,python实现
帖子发表于 : 2010-10-16 11:26 
头像

注册: 2009-10-09 12:54
帖子: 989
地址: 北京某胡同
系统: debian
送出感谢: 4
接收感谢: 2
trigger 写道:
sed -e :a -e 's/<[^>]*>//g;/</N;//ba' file.html

学习了! :em11 不过上面那个问题是怎么回事?


_________________
python写的一个跨平台的聊天软件TChat。支持文件传输。
android防火墙droidwall更新,添加月流量统计功能。有兴趣的点我:D
原创Android社交应用[飘],开源免费!


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 批量html转换txt,python实现
帖子发表于 : 2010-10-16 11:44 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
zkwlx 写道:
trigger 写道:
sed -e :a -e 's/<[^>]*>//g;/</N;//ba' file.html

学习了! :em11 不过上面那个问题是怎么回事?

不知道,不会python。有两个文件处理成功。估计第三个里面有什么特殊字符。。。


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 批量html转换txt,python实现
帖子发表于 : 2010-10-16 20:40 
头像

注册: 2010-04-23 20:40
帖子: 1950
地址: 浙江·杭州
系统: Arch Linux
送出感谢: 2
接收感谢: 31
这种东西使用re就可以了,还大动干戈搞个HTMLParser……
要是我,写一个词法分析器、运用编译原理解析HTML……


_________________
我是 Giumo Clanjor(哆啦比猫/兰威举)
Where there is a hacker, there is art. | Develop for Developers. (C & perl5)
博客 | Clanjor Prods.
类 C 语言到 brainfuck 编译器


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 批量html转换txt,python实现
帖子发表于 : 2010-10-16 21:34 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
☛ as html2
html2ps html2text html2wml

用模块去折腾。。。 真还不如练习下 perlre


_________________
● 鸣学


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 批量html转换txt,python实现
帖子发表于 : 2010-10-16 22:08 
头像

注册: 2009-10-09 12:54
帖子: 989
地址: 北京某胡同
系统: debian
送出感谢: 4
接收感谢: 2
cjxgm 写道:
这种东西使用re就可以了,还大动干戈搞个HTMLParser……
要是我,写一个词法分析器、运用编译原理解析HTML……

能详细说明下吗,想学习学习 :em11


_________________
python写的一个跨平台的聊天软件TChat。支持文件传输。
android防火墙droidwall更新,添加月流量统计功能。有兴趣的点我:D
原创Android社交应用[飘],开源免费!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 10 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译