我正在尝试根据一些参数自动从网站下载信息。基本上我想指定搜索的参数,并让功能自动导航到适当的网站并下载文件。请注意,所有文件都是excel文件,通常是.csv。
这是网站:http://comtrade.un.org/db/
注意:此网站地址将根据搜索进行更新,例如,如果您搜索从美国到伊朗的贸易(其余参数未指定),结果为:
更多相关内容:
http://unstats.un.org/unsd/tradekb/Knowledgebase/Data-Extraction-Using-Comtrade-Web-Service 查看Web服务方法和参数
两个问题:
1)我该怎么做?
2)最好的语言是什么?
答案 0 :(得分:2)
没有“最好的语言”。您可以使用具有HTTP访问可用性的任何语言来执行此操作,这可以是PHP,Java,RoR,Perl,Python ......
在the link you posted上,您可以阅读他们提供的REST服务,用于访问XML中的数据。
在PHP中,您首先必须使用适当的URL下载文件:
$xml = file_get_contents("http://comtrade.un.org/ws/...");
使用PHP的XML函数来解析文件。
我不确定他们的数据使用许可 - 您可能无法从法律上允许自动从此处下载数据。
<强>更新强>
您无法直接下载搜索结果中的文件(例如通过PHP) - 因此您必须使用REST访问权限,但只有UN允许您这样做时,其中某些部分显然是可访问的。如果您尝试直接下载“excel”(实际上是CSV)文件,最终会出现如下错误:http://comtrade.un.org/db/dqBasicQueryResultsd.aspx?action=csv&px=HS&cc=TOTAL&r=364&p=842&rg=1&y=2010,2009,2008,2007,2006&so=8。您可以欺骗HTTP_REFERER
值,但您将违反服务条款。
答案 1 :(得分:0)
在PHP中,使用file_get_contents("http://............");
插入您想要的任何URL和GET参数,您立即获得数据,在本例中为CSV,然后您可以处理。