Python实现批量将word转html并将html内容发布至网站的方法
本文实例讲述了Python实现批量将word转html并将html内容发布至网站的方法。分享给大家供大家参考。具体实现方法如下:
#coding=utf-8 __author__ = 'zhm' from win32com import client as wc import os import time import random import MySQLdb import re def wordsToHtml(dir): #批量把文件夹的word文档转换成html文件 #金山WPS调用,抢先版的用KWPS,正式版WPS word = wc.Dispatch('KWPS.Application') for path, subdirs, files in os.walk(dir): for wordFile in files: wordFullName = os.path.join(path, wordFile) #print "word:" + wordFullName doc = word.Documents.Open(wordFullName) wordFile2 = unicode(wordFile, "gbk") dotIndex = wordFile2.rfind(".") if(dotIndex == -1): print '********************ERROR: 未取得后缀名!' fileSuffix = wordFile2[(dotIndex + 1) : ] if(fileSuffix == "doc" or fileSuffix == "docx"): fileName = wordFile2[ : dotIndex] htmlName = fileName + ".html" htmlFullName = os.path.join(unicode(path, "gbk"), htmlName) # htmlFullName = unicode(path, "gbk") + "\\" + htmlName print u'生成了html文件:' + htmlFullName doc.SaveAs(htmlFullName, 8) doc.Close() word.Quit() print "" print "Finished!" def html_add_to_db(dir): #将转换成功的html文件批量插入数据库中。 conn = MySQLdb.connect( host='localhost', port=3306, user='root', passwd='root', db='test', charset='utf8' ) cur = conn.cursor() for path, subdirs, files in os.walk(dir): for htmlFile in files: htmlFullName = os.path.join(path, htmlFile) title = os.path.splitext(htmlFile)[0] targetDir = 'D:/files/htmls/' #D:/files为web服务器配置的静态目录 sconds = time.time() msconds = sconds * 1000 targetFile = os.path.join(targetDir, str(int(msconds))+str(random.randint(100, 10000)) +'.html') htmlFile2 = unicode(htmlFile, "gbk") dotIndex = htmlFile2.rfind(".") if(dotIndex == -1): print '********************ERROR: 未取得后缀名!' fileSuffix = htmlFile2[(dotIndex + 1) : ] if(fileSuffix == "htm" or fileSuffix == "html"): if not os.path.exists(targetDir): os.makedirs(targetDir) htmlFullName = os.path.join(unicode(path, "gbk"), htmlFullName) htFile = open(htmlFullName,'rb') #获取网页内容 htmStrCotent = htFile.read() #找出里面的图片 img=re.compile(r"""<img \s.*?\s?src\s*=\s*['|"]?([^\s'"]+).*? alt="Python实现批量将word转html并将html内容发布至网站的方法" >""",re.I) m = img.findall(htmStrCotent) for tagContent in m: imgSrc = unicode(tagContent, "gbk") imgSrcFullName = os.path.join(path, imgSrc) #上传图片 imgTarget = 'D:/files/images/whzx/' img_sconds = time.time() img_msconds = sconds * 1000 targetImgFile = os.path.join(imgTarget, str(int(img_msconds))+str(random.randint(100, 10000)) +'.png') if not os.path.exists(imgTarget): os.makedirs(imgTarget) if not os.path.exists(targetImgFile) or(os.path.exists(targetImgFile) and (os.path.getsize(targetImgFile) != os.path.getsize(imgSrcFullName))): tmpImgFile = open(imgSrcFullName,'rb') tmpWriteImgFile = open(targetImgFile, "wb") tmpWriteImgFile.write(tmpImgFile.read()) tmpImgFile.close() tmpWriteImgFile.close() htmStrCotent=htmStrCotent.replace(tagContent,targetImgFile.split(":")[1]) if not os.path.exists(targetFile) or(os.path.exists(targetFile) and (os.path.getsize(targetFile) != os.path.getsize(htmlFullName))): #用iframe包装转换好的html文件。 iframeHtml=''' <script type="text/javascript" language="javascript"> function iFrameHeight() { var ifm= document.getElementById("iframepage"); var subWeb = document.frames ? document.frames["iframepage"].document:ifm.contentDocument; if(ifm != null && subWeb != null) { ifm.height = subWeb.body.scrollHeight; } } </script> <iframe src='''+targetFile.split(':')[1]+''' marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="765" height=100% id="iframepage" name="iframepage" onLoad="iFrameHeight()" ></iframe> ''' tmpTargetFile = open(targetFile, "wb") tmpTargetFile.write(htmStrCotent) tmpTargetFile.close() htFile.close() try: # 执行 sql = "insert into common_article(title,content) values(%s,%s)" param = (unicode(title, "gbk"),iframeHtml) cur.execute(sql,param) except: print "Error: unable to insert data" cur.close() conn.commit() # 关闭数据库连接 conn.close() if __name__ == '__main__': wordsToHtml('d:/word') html_add_to_db('d:/word')
希望本文所述对大家的Python程序设计有所帮助。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



React combines JSX and HTML to improve user experience. 1) JSX embeds HTML to make development more intuitive. 2) The virtual DOM mechanism optimizes performance and reduces DOM operations. 3) Component-based management UI to improve maintainability. 4) State management and event processing enhance interactivity.

HTMLisaspecifictypeofcodefocusedonstructuringwebcontent,while"code"broadlyincludeslanguageslikeJavaScriptandPythonforfunctionality.1)HTMLdefineswebpagestructureusingtags.2)"Code"encompassesawiderrangeoflanguagesforlogicandinteract

The role of HTML is to define the structure and content of a web page through tags and attributes. 1. HTML organizes content through tags such as , making it easy to read and understand. 2. Use semantic tags such as, etc. to enhance accessibility and SEO. 3. Optimizing HTML code can improve web page loading speed and user experience.

It is impossible to view MongoDB password directly through Navicat because it is stored as hash values. How to retrieve lost passwords: 1. Reset passwords; 2. Check configuration files (may contain hash values); 3. Check codes (may hardcode passwords).

You can learn basic programming concepts and skills of Python within 2 hours. 1. Learn variables and data types, 2. Master control flow (conditional statements and loops), 3. Understand the definition and use of functions, 4. Quickly get started with Python programming through simple examples and code snippets.

Python is widely used in the fields of web development, data science, machine learning, automation and scripting. 1) In web development, Django and Flask frameworks simplify the development process. 2) In the fields of data science and machine learning, NumPy, Pandas, Scikit-learn and TensorFlow libraries provide strong support. 3) In terms of automation and scripting, Python is suitable for tasks such as automated testing and system management.

As a data professional, you need to process large amounts of data from various sources. This can pose challenges to data management and analysis. Fortunately, two AWS services can help: AWS Glue and Amazon Athena.

The steps to start a Redis server include: Install Redis according to the operating system. Start the Redis service via redis-server (Linux/macOS) or redis-server.exe (Windows). Use the redis-cli ping (Linux/macOS) or redis-cli.exe ping (Windows) command to check the service status. Use a Redis client, such as redis-cli, Python, or Node.js, to access the server.
