【发布时间】:2017-04-21 08:56:19
【问题描述】:
这是我正在使用的代码示例:
library(jsonlite)
library(curl)
#url
url = "http://www.zillow.com/search/GetResults.htm?spt=homes&status=001000<=000000&ht=010000&pr=999999,10000001&mp=3779,37788&bd=0%2C&ba=0%2C&sf=,&lot=0%2C&yr=,1800&singlestory=0&hoa=0%2C&pho=0&pets=0&parking=0&laundry=0&income-restricted=0&pnd=0&red=0&zso=0&days=36m&ds=all&pmf=0&pf=0&sch=100111&zoom=6&rect=-91307373,29367814,-84759521,35554574&p=1&sort=globalrelevanceex&search=maplist&rid=4&rt=2&listright=true&isMapSearch=true&zoom=6"
#json
results_data_json = fromJSON(txt = url)
我曾经能够毫无问题地运行与此类似的代码。现在我收到以下错误:
Error in feed_push_parser(buf) :
lexical error: invalid char in json text.
<html><head><title>Zillow: Real
(right here) ------^
对此有什么想法吗?
【问题讨论】:
-
您可能达到了自动查询阈值限制(如果您要检查该 HTML 的整个文本,它甚至可能会这样说)。 IOW:你没有得到 JSON,你得到的 HTML 页面可能有你没有得到 JSON 的原因。
-
@hrbrmstr 这就是我的想法 - 当我转到实际网址时,我似乎必须回答验证码。有没有解决的办法?还是我必须等到限制重置?
-
我会在他们的网站上四处寻找,看看他们可能会说他们做了什么速率限制。你必须在上述限制内工作,并且——是的——等到你当前的区块被释放。
-
有趣,我无法复制错误。它运行良好,没有任何错误。在 Rstudio 版本 1.0.44 上使用 Microsoft R 3.3.0
-
Zillow does have APIs 这可能会给你一个更有礼貌的回应。不过,它可能是 XML 格式的。