从 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 地址?
一些注意事项:
- 有一个名为 "store.ip.address" 的设置。我已将其设置为 true,但没有任何区别。
- 在主存储库中,geoip 插件可用,它以类似的方式获取 IP 地址。所以我认为它应该是可能的,虽然它是 Nutch 的不同版本。
- 我宁愿不修改Nutch本身的源码。
最终我通过在 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>
我正在开展一个项目,我们正在对多个网站进行爬网和索引编制。为此,我使用 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 地址?
一些注意事项:
- 有一个名为 "store.ip.address" 的设置。我已将其设置为 true,但没有任何区别。
- 在主存储库中,geoip 插件可用,它以类似的方式获取 IP 地址。所以我认为它应该是可能的,虽然它是 Nutch 的不同版本。
- 我宁愿不修改Nutch本身的源码。
最终我通过在 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>