【发布时间】:2015-02-09 03:19:39
【问题描述】:
我使用 Google Refine 处理凌乱的产品数据表,以便使用 Magmi/Dataflow 配置文件对其进行格式化以上传到 Magento 商店。我仍在使用 Google Refine 2.5,因为它是最新的稳定版本。
供应商数据表中的描述通常充满了二进制字符和凌乱的 HTML,我需要对其进行大量操作和重新格式化。
我知道我可以使用 GREL / Python / Jsoup 的某种组合来完成我的任务,但是我在使用不同语言的语法移动时遇到了问题。
我的数据如下所示:
Some product data here. <ul><li>Bullet one <li> Bullet two</ul> <br /> Some other product data here. <span id="product-image><img src="image.png"></span>
使用以下 sn-p:value.parseHtml().select("img").toString()
我能够解析我想要的图像标签,但我无法使用 GREL 中的 replace() 函数删除/替换这些标签。我尝试将表达式添加到替换函数的第一个字符串中,例如:value.replace(/value.parseHtml().select("img").toString()/, "") 和其他类似函数均无济于事。
对于我当前的项目,我需要:1) 删除所有 <img>, <div>, <p> and <span> 标记,以及 2) 解析 YouTube 视频链接并将其分离到单独的列中。
有人可以帮助我了解语法/为我编写一个函数来完成这项任务(最好是对语法的解释)?
【问题讨论】:
-
您能否提供您尝试解析的 HTML 代码的真实 sn-p 或页面链接。这将有助于制作 JSON 代码。
-
<ul> <li>Excellent quality, reliable socket.</li> <li>UL listed component.</li> <li>Rotate lamp 90° to lock in place.</li> <li>Purchase components a la carte.</li> <li>Two covers required for set.</li> </ul> <img alt=" style="width: 62px;" src="http://sunlightsupply.s3.amazonaws.com/images/icon/product/logo_culus.gif" /><br /> -
还有
<a href="http://www.youtube.com/watch?v=-AQFT4QWBEo" rel="prettyPhoto" shape="rect"><img alt=" src="http://sunlightsupply.s3.amazonaws.com/images/icon/product/WatchVideo.gif" complete="complete" /></a> <br /> <p style="text-align: center;"><strong>DESIGNED FOR HEATING/COOLING WITH OUTSIDE TEMPERATURES RANGING FROM 5<sup>°</sup> TO 105<sup>°</sup> F.<br /> </strong><strong>USE OF UNIT OUTSIDE OF THESE TEMPERATURE RANGES IS NOT RECOMMENDED.<br /> IMPROPER USAGE RELATING TO OUTSIDE TEMPERATURE IS NOT COVERED UNDER WARRANTY.</strong></p> <ul> -
此描述还包括一个我以前从未见过的
<sup>标签,它也需要删除。如有必要,我可以链接到整个产品 .csv。感谢您的帮助 -
<sup>标签是有效的 html 标签。它用于上标文本(以较小的字母出现在行首的文本)。
标签: beautifulsoup jsoup magmi openrefine