关于项目需求”html转word”的方案总结

  • 2017-04-27
  • 2208
  • 0

刚来新公司不久,便接到一个任务需求:爬取有js动态加载的网页,然后再将爬到的html转成word格式。

现整理下解决方案:

一:html->pdf->word (验证后已放弃)

1)先将html转成pdf,使用wkhtmltopdf 。

wkhtmltopdf 是一个使用 WebKit 网页渲染引擎开发的用来将 HTML 文档转成 PDF 文档的工具。正是由于它的内核封装了webkit这种浏览器引擎,所以可以轻松获取js加载后的页面。

2)将得到的pdf转成word

找到了python的pypdf2的一个库进行转换,发现转出来的大部分内容都为乱码且排版有问题,查了下发现pdf是矢量图,强制转换成word的文本格式比较困难。遂放弃。

二: 使用php curl 或python urllib.open()、requests将 html->word(验证可行但不通用)

1)curl或requests抓取静态页面

2)手动分析js的动态ajax加载,curl模拟请求获取动态数据。

3)正则匹配把动态数据填进去。

4)获取到完整html,利用phpword库或者php直接转成word。

三:python+phantom.js+selenium将html->word(未验证)

1)直接抓取完整html页面,Phantom JS是一个服务器端的 JavaScript API 的 WebKit,所以可以在无界面情况下直接获取完整页面。

2)python下直接html转word(未验证)。

3)或者利用php 的popen()、exec()等函数调用python脚本,或者Flask实现一个restful api,然后php http调用api或者html,然后利用phpword库或者php直接转成word。

 

 


上一篇:  下一篇:

评论

还没有任何评论,你来说两句吧

Copyright © 2014-2016 lxlxw All Right Reserved