繁体   English   中英

在 OpenRefine 中获取重定向的目标 URL

[英]Fetching a redirect's target URL in OpenRefine

我有一个约 2000 个 URL 的 CSV,当被查询时,它会执行 301 或 302 重定向,我试图确定 OpenRefine 是否能够将目标 URL 导出到新列,当我获取html(或其他方式)。

例如

https://www-istp.gsfc.nasa.gov/stargaze/Ssolsys.htm 

重定向到

https://pwg.gsfc.nasa.gov/stargaze/Ssolsys.htm

我通过点击我选择的浏览器中的链接知道这一点。 我找到了一些答案,表明这可以用各种编码语言完成,但到目前为止还没有任何建议可以在 OpenRefine 中这样做,尽管我有 80% 的把握可以做到这一点。

有没有人知道我可以做些什么来实现这一点?

在 OpenRefine 中,您可以使用GRELJython (Python 2 的 Java 实现)和Clojure编写表达式。 据我所知,GREL 不支持分析重定向 URL 的目标,所以我会使用 Python。

在您的 OpenRefine 项目中,转到包含 url 的列并使用“编辑列”>“基于此列添加列...”

在相应的对话框窗口中(参见下面的屏幕截图),您将表达式语言更改为“Python / Jython”并使用以下代码片段来检索请求的“真实”URL。

import urllib2
response = urllib2.urlopen(value)
return response.geturl()

用于添加具有目标 URL 的新列的 OpenRefine 对话框的屏幕截图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM