金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評論 :: 0 Trackbacks
公告
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊
公告照片
搜索
積分與排名
積分 - 656590
排名 - 25
最新評論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡(luò)庫
asio 成為C++首選網(wǎng)絡(luò)庫
--linda
2.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標(biāo)題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標(biāo)題查看
--bigbad
5.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標(biāo)題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯誤(11032)
2.?SVN中邪惡的replace(10955)
3.?VS2005編譯libevent(10413)
4.?混音算法的學(xué)習(xí)與研究(10203)
5.?C調(diào)用lua腳本的效率測試(9007)
評論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關(guān)于Socket編程的比較(16)
批量html轉(zhuǎn)text
批量html轉(zhuǎn)text
(轉(zhuǎn)載請注明來源于金慶的專欄)
原來的代碼是參考“Recipe 12.11. Using MSHTML to Parse XML or HTML”,利用htmlfile提取文本。
將當(dāng)前目錄下的所有html文件轉(zhuǎn)換為text文件。
def
extractHtmlFile(htmlFilePath):
'''
Extract html text and save to text file.
'''
htmlData
=
file(htmlFilePath,
'
r
'
).read()
import
win32com.client
html
=
win32com.client.Dispatch(
'
htmlfile
'
)
html.writeln(htmlData)
text
=
html.body.innerText.encode(
'
gbk
'
,
'
ignore
'
)
但是發(fā)現(xiàn)MSHTML解析文件可能會出錯,造成文本提取失敗。
jigloo經(jīng)過對10W+個html文件的測試,得出結(jié)論,htmlfile的容錯比InternetExplorer.Application要差很多。
原文見:http://groups.google.com/group/python-cn/msg/c9221764bcafbc21
他的代碼大致如下,IE使用稍煩:
#
!/usr/bin/env python
import
sys, os, re, codecs
import
time
import
win32com.client
class
htmlfile:
def
__init__
(self):
self.
__ie
=
win32com.client.Dispatch(
'
InternetExplorer.Application
'
)
self.
__ie
.Silent
=
True
self.
__filename
=
''
self.
__document
=
None
def
__del__
(self):
self.
__ie
.Quit()
def
__getdocument
(self, filename):
filename
=
os.path.abspath(filename)
if
self.
__filename
!=
filename:
self.
__filename
=
filename
self.
__ie
.Navigate2(filename)
self.
__ie
.Document.close()
while
self.
__ie
.Document.Body
is
None:
time.sleep(
0.1
)
self.
__document
=
self.
__ie
.Document
return
self.
__document
def
gettext(self, filename):
return
self.
__getdocument
(filename).Body.innerText
def
gettitle(self, filename):
return
self.
__getdocument
(filename).title
if
__name__
==
'
__main__
'
:
hf
=
htmlfile()
for
root, dirs, names
in
os.walk(u
'
.
'
):
for
name
in
names:
if
name.endswith(
'
htm
'
)
or
name.endswith(
'
html
'
):
htmlpath
=
os.path.join(root, name)
textpath
=
htmlpath
+
'
.txt
'
file(textpath,
'
wb
'
).write(hf.gettext(htmlpath).encode(
'
mbcs
'
))
#
End of if.
#
End of for name.
#
End of for root.
del
hf
#
End of if.
對于我的簡單任務(wù),這就足夠了。
有一個問題,如果有資源管理器打開著,運行這段代碼會關(guān)閉資源管理器,并出錯退出。比較奇怪,但應(yīng)該不難解決,可能是IE控件的使用上還有問題。
self.__ie.Document.close()
File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py", line 496, in
__getattr__
raise AttributeError, "%s.%s" % (self._username_, attr)
AttributeError: Document.close
posted on 2008-03-13 11:55
金慶
閱讀(1725)
評論(1)
編輯
收藏
引用
所屬分類:
6. Python
評論
#
re: 批量html轉(zhuǎn)text
2008-12-01 15:48
Hanqing Chen
你好,我需要這個程序代碼,可以發(fā)給我一份嗎?
不勝感謝,我的郵箱 lychenhanqing@163.com
回復(fù)
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
vs2017 linux 編譯輸出改成 vs 格式
xlsx批量轉(zhuǎn)為utf8的csv
如何運行 rpcz python example
Windows上Python讀取stdin出錯
建立Socket Policy服務(wù)器
python計算24點
(Python編程)Pickle對象
Boost.Python中文文檔下載
用Boost.Python構(gòu)建混合系統(tǒng)
Python封裝的性能研究
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
狠狠色丁香久久综合五月
|
国产精品无码久久久久
|
久久天天躁狠狠躁夜夜不卡
|
国产亚洲美女精品久久久
|
中文字幕无码精品亚洲资源网久久
|
久久亚洲天堂
|
性做久久久久久久
|
久久精品国产精品亚洲精品
|
AAA级久久久精品无码区
|
狠狠色丁香婷婷综合久久来来去
|
伊人情人综合成人久久网小说
|
99久久国产精品免费一区二区
|
久久天天躁狠狠躁夜夜网站
|
国产精品久久久久久久午夜片
|
国产精品久久久久免费a∨
|
99久久婷婷国产综合亚洲
|
国产成人无码精品久久久免费
|
久久久久亚洲精品日久生情
|
久久免费小视频
|
97久久国产综合精品女不卡
|
伊人久久大香线蕉精品
|
亚洲中文字幕无码久久2020
|
久久精品视频一
|
99久久国产主播综合精品
|
色欲久久久天天天综合网
|
久久久国产一区二区三区
|
国产韩国精品一区二区三区久久
|
武侠古典久久婷婷狼人伊人
|
超级碰久久免费公开视频
|
亚洲精品乱码久久久久久蜜桃图片
|
久久精品国产第一区二区
|
狠狠色丁香婷婷综合久久来
|
一本一本久久aa综合精品
|
久久99精品国产麻豆蜜芽
|
久久亚洲精品中文字幕三区
|
色88久久久久高潮综合影院
|
欧美伊人久久大香线蕉综合
|
国内精品久久久久久久97牛牛
|
久久久久av无码免费网
|
青青草国产97免久久费观看
|
青青青国产精品国产精品久久久久
|