我试图从一个名为zillow的网站获取API为我工作,但我对网络新东西是新手.他们尝试解释
here如何使用它,但它让我失去了所以我看了他们的论坛.有人在那里发布了一个“示例”,但我无法看到他们的代码甚至调用API的位置.基本上我需要一个表格字段,它将是一个地址并发送该信息以获取数据,这里是从这些人的例子中获取的源代码,
<html xml:lang="en" lang="en"> <head> <title></title> </head> <body> <h3><font face="Verdana,Arial,Helvetica,sans-serif">Get Property < # >Zestimates from Zillow</a></font></h3> <form method="post" action="/Real-Estate/Zestimate.PHP" name="zip_search"> <table align="center" width="618"> <tr> <td colspan="2"><font face="verdana,arial,sans-serif">Please specify the Property address. </font></td> <td width="205" align="left"> <div align="left"><font face="Verdana,sans-serif"><#></a></font></div></td> </tr> <tr> <td colspan="2"><font face="Verdana,sans-serif">Street</font>: <input id="street2" type="text" maxlength="50" size="50" value="" name="street"/></td> <td> </td> </tr> <tr> <td colspan="2"><font face="verdana,sans-serif">City,State or ZipCode:</font> <input id="citystatezip3" type="text" maxlength="50" size="20" value="" name="citystatezip"/></td> <td> </td> </tr> </table> <div align="center"> <input name="submit" type="submit" value="Get Zestimate"> </div> </form>
你可以看到它只是一个简单的形式,自己发布了吗?但是当我点击它时,它会从API中提取数据并显示它,但我不知道如何.
我很乐意为您提供任何帮助,谢谢!
解决方法
基于
http://www.zillow.com/howto/api/APIFAQ.htm#devkit,没有JavaScript API.由于这个(以及跨域限制),您必须使用服务器端语言.我将添加一个简单的Java示例.
编辑:好的,这里.它只需要街道地址和城市/州,并返回格式化的值.错误检查遗漏:
import java.text.NumberFormat; import org.w3c.dom.*; import org.xml.sax.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; import java.io.*; import java.util.Currency; public class Zillow { private static final DocumentBuilderFactory dbFac; private static final DocumentBuilder docBuilder; static { try { dbFac = DocumentBuilderFactory.newInstance(); docBuilder = dbFac.newDocumentBuilder(); } catch(ParserConfigurationException e) { throw new RuntimeException(e); } } private static final String DEEP_URL = "http://www.zillow.com/webservice/GetDeepSearchResults.htm"; private static final String ZESTIMATE_URL = "http://www.zillow.com/webservice/GetZestimate.htm"; private static final String ZWSID = ...; private static final NumberFormat nf = NumberFormat.getCurrencyInstance(); // Returns Zestimate value for address. public static String getValuation(String address,String cityStateZip) throws SAXException,IOException { Document deepDoc = docBuilder.parse(DEEP_URL + "?zws-id=" + ZWSID + "&address=" + address + "&citystatezip=" + cityStateZip); Element firstResult = (Element)deepDoc.getElementsByTagName("result").item(0); String zpid = firstResult.getElementsByTagName("zpid").item(0).getTextContent(); Document valueDoc = docBuilder.parse(ZESTIMATE_URL + "?zws-id=" + ZWSID + "&zpid=" + zpid); Element zestimate = (Element)valueDoc.getElementsByTagName("zestimate").item(0); Element amount = (Element)zestimate.getElementsByTagName("amount").item(0); String currency = amount.getAttribute("currency"); nf.setCurrency(Currency.getInstance(currency)); return nf.format(Double.parseDouble(amount.getTextContent())); } public static void main(String[] args) throws Throwable { String address = args[0]; String cityStateZip = args[1]; System.out.println(getValuation(address,cityStateZip)); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。