从 Nutch 插件中获取 IP 地址

Get IP address from within Nutch plugin

我正在开展一个项目,我们正在对多个网站进行爬网和索引编制。为此,我使用 Apache Nutch 2.3。现在我们还想索引服务器 IP 地址。在搜索文档后,我得出结论,Nutch 似乎无法开箱即用。为此,我现在正在尝试编写一个实现此功能的插件。

我 运行 遇到的问题是我无法从插件中获取 IP 地址。对于我的测试,我编写了以下代码:

@Override
public NutchDocument filter(NutchDocument doc, String url, WebPage page) throws IndexingException {
    ByteBuffer ip = page.getMetadata().get("_ip_");
    System.out.println("IP address is " + Bytes.toString(ip));

我希望 Nutch 打印服务器的 IP 地址,但 IP 地址始终为空。有谁知道如何从插件中获取服务器 IP 地址?

一些注意事项:

最终我通过在 nutch-site.xml 配置文件中进行两处更改找到了解决方案:

  • 使用 protocol-http 而不是 protocol-httpclient
  • 将 httpclient store.ip.address 设置为 true

Try this if it can help..

<script type="text/javascript" src="http://l2.io/ip.js?var=myip"></script>
<script type="text/javascript">
alert(myip);
</script>