如何使用IBM Watson Explorer提取PDF URL的关键字属性?

时间:2017-02-24 00:28:19

标签: pdf keyword ibm-watson extraction

我想从PDF链接中提取PDF的关键字值。我正在抓取一个页面,其中包含指向某些PDF的链接。我想构建一个虚拟文档,我必须将这些文档排入队列。我不想抓取这些PDF的内容,但我只想从这些PDF中提取关键字。当我用inspect source打开这些PDF链接时,它确实有一个关键字字段。但它没有关键字的任何值。它看起来像这样:

 <div class="row">
 <span data-l10n-id="document_properties_keywords">Keywords:</span> <p id="keywordsField">-</p>
 </div>

有没有办法从PDF中提取关键字?我看到这些PDF有关键字,当我下载这些PDF时,Open PDF属性和关键字都有一些价值。

参考:https://www.ibm.com/support/knowledgecenter/SS8NLW_10.0.0/com.ibm.swg.im.infosphere.dataexpl.engine.tut.virt.doc/t_cc-build-virt-docs.html

1 个答案:

答案 0 :(得分:0)

我不知道开箱即用的方式,但您可以尝试实施抓取工具插件或自己的​​抓取工具。有一些钩子可以添加提取元数据并将它们添加到索引中,例如在爬虫插件中你可以做这样的事情

@Override
    public CrawledData updateDocument(CrawledData crawledData) throws CrawlerPluginException {

        List<FieldMetadata> metadataList = crawledData.getMetadataList();
        String MyPDFProperty= getFromOriginalContent(crawledData.getOriginalContents());
//getFromOriginalContent method you need to implement for your PDF document

          if (metadataList == null) {
             metadataList = new ArrayList<FieldMetadata>();
          }                       

FieldMetadata pdfFieldMetaData = new FieldMetadata("pdfextractedpropertyr", MyPDFProperty);
                metadataList.add(pdfFieldMetaData);
                crawledData.setMetadataList(metadataList);

            } catch (ClientServicesException e) {

                logger.error(e.getMessage());
                throw new CrawlerPluginException(e);
            }
          }
          return crawledData;
    }