我正在尝试使用Zillow API。
实际上,它在我的本地计算机上工作并返回我需要的所有数据,但是当我尝试将其发布到主机中时,API返回“请求被阻止,已检测到爬网程序”。
这是在我的本地而不在我们的服务器中可用的示例代码。
echo @file_get_content("example.xml");
谢谢!
最佳答案
我非常确定Zillow会授予API密钥以限制任何人访问其数据,并监视正在提供多少数据。这是几乎所有公共API的标准做法。
编辑:删除标题建议。 Zillow希望您将API密钥作为查询字符串参数传递。 URL看起来像这样。http://www.zillow.com/webservice/GetDemographics.htm?zws-id<ZWSID>&state=WA&city=Seattle&neighborhood=Ballard
在php中,您可以尝试cURL
或file_get_contents
:一个cURL示例:
$apiKey = qadsf78asdfjkasdjf-yourAPIKey
$url = 'http://www.zillow.com/webservice/GetDemographics.htm?zws-id=' . $apiKey .
'&state=TX&city=Austin';
$ch = curl_init($url);
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec( $ch );
print_r($response);
curl_close( $ch );
您可以在cURL中传递很多选项,请检查此页面以进一步阅读。 http://php.net/manual/en/book.curl.php
关于php - Zillow-请求已阻止,已检测到爬网程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28689511/