在OpenSearchServer搜索结果中获取缩略图

时间:2016-05-10 11:30:02

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

我需要替代谷歌自定义搜索我所关注的网站,它必须是抓取网站,索引它,允许摆弄优先级,然后通过REST或类似的东西允许搜索查询并返回XML的东西或者JSON等。它需要在Windows Server实例上运行。

所以,我使用http://www.opensearchserver.com/启动并运行它似乎可以解决这个问题,但是对于我的生活,我不知道如何在结果中获取缩略图图像?我已经搜索过文档并阅读了所有内容,但无法了解如何执行此操作(或如何解决问题)。

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

任何指针都非常有用,谢谢!

1 个答案:

答案 0 :(得分: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">

进入Schema / Fields。添加一个名为'thumbnail'的新字段,索引号为no,store yes,vector no,analyzer text,blank of blank。保存。

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

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

htmlSource - &gt;链接:缩略图 - &gt;被捕获:

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

现在保存此内容并转到抓取/手动抓取,输入一个包含缩略图的网址,然后检查该字段现在是否在下面的列表中显示。如果没有检查你的正则表达式,并检查你实际保存了HTML解析器更改。

要获得结果中的大拇指,只需将字段名称添加到随查询发送的JSON中:

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