問題
我正在對一長串公司進行一系列研究,我想知道他們的網站是什麼。公司被收購的一個很好的指標是,其網站缺失或其公司網站指向具有不同名稱的公司。
所以我想拿一列公司名稱,將它們提交給網絡搜索並找回最有可能的網站。 我沒有不完美的重新使用,但它比手動搜索每個更好。
解
我從我的JMP表中的一個名為“Companies”的列開始。我將值作為列表獲取,然後通過搜索遍歷列表。我在新列表中捕獲r的結果,在搜索完成後,我使用Set Values來將值添加到原始表中的空列。
有可能在JMP中完成所有這些,但我不知道如何。但我確實知道怎麼跑
我從他們的例子開始,這需要幾個包:beautifulsoup4和google(即pip install google)。 此代碼返回一個搜索結果。
(This is Python)
try:
from google import search
except ImportError:
print("No module named 'google' found")
# to search
query = "SAS Institute inc"
for j in search(query, tld="co.in", num=1, stop=1, pause=2):
print(j)
所以我只是將python代碼包裝在一個小JSL中來管理獲取列表,迭代搜索和結果。
names default to here(1);
outlist={}; clist=:Company<<GET values=""></GET>
唯一值得注意的真正技巧是python代碼的整個文本都在Substitute函數中。在替換中,刪除“xyzxyz”並替換為列值。 在JMP的未來版本(如v14)中,有一些更好的方法來處理變量和使用python,但是在這裡我正在編寫一個文本文件,python代碼到磁盤然後運行python程序。
該程序返回一個值,我添加到列表中。一個公司名稱進入,一個項目出來。因為這是1:1,我可以把列表放到一列中,一切都應該排成一行。我的一些返回結果需要工作,但大多數都是完美的。
討論
我幾乎100%確定有更好的解決方案,但這需要大約15分鐘才能組合在一起,並且在運行10分鐘之後,我有一個大約99%完成的列表。 那麼,你有更好的東西,請發布。 在JMP和其他軟件包之間來回切換,以及在JMP中使用其他工具的靈活性使我的工作變得更加輕鬆。 在我的例子中,我有大約600個名字可供使用。複製粘貼乏味可能有幾個小時的藥物,但有了這個我完成了所有工作,仍然有時間在較短的時間內博客,它將採取我手動做。另外,明天我得到列表的後半部分。我可以再次運行腳本。
@Craige_Hales ,謝謝,... (哎呀!是運行程序從你的帖子復制粘貼?)