近期帮朋友使用Joomla改版公司的网站。朋友的公司是做化学产品的,整体的设计要求都比较常规,唯独到最后需要给每一个化学品增加结构式图遇到了问题。他们大概有超过10000种产品。之前网站上的结构式图是人手工做的(其中部分是从互联网上截图的),且图片的质量很差,无法继续使用需求。

问题


现在需要为超过10000种产品增加化学式结构图,并且如果采用手工来做,对于公司规定的上线时间上肯定是赶不及了。虽然说行业有类似的软件,但价格昂贵,在经费上是完全不能接受的。如何在短时间内解决这个问题?

解决方案


当我第一次面对这种问题,心里就想采用蛮力来做是肯定不行的,即使时间允许也不行,将时间花在这种大量重复性的工作是不值得的,一定会有更好的方案

  • 1,寻找开源库
  • 2,能否使用技术手段增强原先图片的质量
  • 3,在互联网自动抓取

对于第一种方案,使用google搜索了1个多小时,发现并没有能够满足要求的开源php库(看来这可能是一个未被开垦之地,是一个创业机会)。

对于第二种方案,虽然通过对图片的放大,能够自动生成大格式的图片,但图片显示的效果依然很差。(这个主要是原始图片质量的问题)

最后只剩下第三个方案。经过和朋友进一步的了解,发现它们行业有一个综合性的门户网站,可以在这个网站上查找到每一个CAS号对应的产品结构式。我立即意识到这就是我们需要的解决方案。一个构想立即出现——通过模拟查询,将对应的CAS药品结构式图片下载下来。

操作步骤


 通过分析,发现是可以使用CURL模拟请求页面的,将CAS号作为参数,就可以请求包含不同CAS产品结构式的图片了。具体的编码过程并不复杂,再次就略过了。

自动获取药品结构式脚本截图:

处理结果.png

感悟


当我将写好的脚本给朋友看的时候,他非常的吃惊,原本他们需要至少2个星期才能完成的工作,居然我只用了几个小时就搞定了。并且生成的图片质量比人手工做的更好。顿时对程序员的职业充满了敬佩之感。

wechat_截图.png

 

对于这样的一件事情,对我也有不少的触动。作为一个职业程序员,当自己的代码能够帮助别人解决问题的时候,这种感觉真是太爽了。这种成就感,能够让枯燥的工作变得有些颜色。

实际上,在生活中,类似这种事情非常的多,当你遇到需要大量重复性的做某一项工作之前,你可以咨询一下你的程序员朋友(如果没有,也可以咨询一下我),看看他们能否给出什么建议,也许你认为需要十天半个月才能完成的工作,在程序员眼里可能就是一盏茶的功夫。这在这个技术爆炸的时代并不是什么异想天开的事情。你需要找到对的人!

 

评论

  • 未找到评论