簡體   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