【问题标题】:Getting thumbnails in OpenSearchServer search results在 OpenSearchServer 搜索结果中获取缩略图
【发布时间】:2016-05-10 11:30:02
【问题描述】:

我需要一个替代谷歌自定义搜索的网站来管理我的网站,它必须能够抓取网站、索引它、允许调整优先级,然后允许通过 REST 或类似的东西进行搜索查询并返回 XML或 JSON 等。它需要在 Windows Server 实例上运行。

所以,我已经开始使用http://www.opensearchserver.com/ 并运行它似乎可以解决问题,但是对于我的一生来说,无法弄清楚如何在结果中获取缩略图?我已经搜索了文档并阅读了我能阅读的所有内容,但无法找到如何执行此操作(或如何理解它)。

我正在抓取标准网页,它们都有缩略图元数据,我假设应该能够以某种方式解析结果并包含在 JSON 结果中?

任何指针都会非常有帮助,谢谢!

【问题讨论】:

    标签: search web-crawler open-search-server


    【解决方案1】:

    我想通了,以防其他人遇到困难,这就是我的做法。答案就在文档中,只是没有那么那么简单。

    阅读:http://www.opensearchserver.com/documentation/faq/crawling/how_to_extract_specific_information_from_web_pages.md - 它包含方法

    假设您设置了“网络爬虫”索引。

    假设您使用的是这样的元缩略图:

    <meta name="thumbnail" content="http://my_cdn.com/news/images/29637.jpg">
    

    进入架构/字段。添加一个名为“缩略图”的新字段,索引号,存储是,矢量号,分析器文本,空白副本。保存它。

    现在转到架构/解析器列表,编辑 HTML 解析器。转到“字段映射”,现在为 html 中的缩略图添加一个新的正则表达式。我们使用匹配的正则表达式从“htmlSource”映射到缩略图。

    我不完美的正则表达式(虽然有效)是:

    htmlSource -> 链接于:缩略图 -> 捕获者:

    (?s)<meta name="thumbnail" content="(.*?)">
    

    现在保存并转到抓取/手动抓取,输入一个带有缩略图的网址,然后检查该字段在读取时是否出现在下面的列表中。如果不检查您的正则表达式,并检查您是否实际保存了 HTML 解析器更改。

    要获得结果中的缩略图,只需将字段名称添加到您通过查询发送的 JSON:

    "returnedFields": [ "
        "url",
        "thumbnail"
    ],
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      • 2016-04-02
      • 1970-01-01
      • 2023-03-23
      • 2016-07-27
      相关资源
      最近更新 更多