使用 xpath 解析 属性 页面 URL
Parse property page URLs using xpath
我正在尝试解析主 属性 页面 https://www.realtyatlas.co.za/search?areas%5B0%5D%5Btown%5D=Bellville&status=For%20Sale,更准确地说,我想从此处的属性 class 中提取 href,并进行后续操作 link:
<div class="col-md-4">
<a class="property-item__wrap" href="/loevenstein-apartment-for-sale-1917472">
然而,我尝试过的所有组合结果都是 None。
我也知道 API (https://jf6e1ij07f.execute-api.eu-west-1.amazonaws.com/p/search),但是,在响应中,我没有看到属性的 URL,这没有用。
我是否遗漏了什么或关于我做错了什么的想法?
这是一些代码:
for prop in response.xpath("//div[@class='col-md-4']"):
... link = prop.xpath("./a[@class='property-item__wrap']/@href").get()
提前致谢!
正如您已经发现的那样,属性信息来自您提到的 API 调用,而不是直接嵌入到您正在向其发出请求的站点中(由于 javascript 呈现),因此您需要直接从您的 scrapy 请求中调用 API 来获取该信息(这是一个包含特定数据的 POST 请求,因此您需要自己构建它)
我可能是错的,但看起来这个网站会即时生成 URL,具体取决于它提供的 属性 类型,因此您仍然可以创建 [=24] =] 自己使用来自 API:
的数据
https://www.realtyatlas.co.za/{suburb}-{propertyType}-{propertyStatus}-{propertyid}
其中以下变量可以替换为来自 API
的变量
我正在尝试解析主 属性 页面 https://www.realtyatlas.co.za/search?areas%5B0%5D%5Btown%5D=Bellville&status=For%20Sale,更准确地说,我想从此处的属性 class 中提取 href,并进行后续操作 link:
<div class="col-md-4">
<a class="property-item__wrap" href="/loevenstein-apartment-for-sale-1917472">
然而,我尝试过的所有组合结果都是 None。 我也知道 API (https://jf6e1ij07f.execute-api.eu-west-1.amazonaws.com/p/search),但是,在响应中,我没有看到属性的 URL,这没有用。 我是否遗漏了什么或关于我做错了什么的想法?
这是一些代码:
for prop in response.xpath("//div[@class='col-md-4']"):
... link = prop.xpath("./a[@class='property-item__wrap']/@href").get()
提前致谢!
正如您已经发现的那样,属性信息来自您提到的 API 调用,而不是直接嵌入到您正在向其发出请求的站点中(由于 javascript 呈现),因此您需要直接从您的 scrapy 请求中调用 API 来获取该信息(这是一个包含特定数据的 POST 请求,因此您需要自己构建它)
我可能是错的,但看起来这个网站会即时生成 URL,具体取决于它提供的 属性 类型,因此您仍然可以创建 [=24] =] 自己使用来自 API:
的数据https://www.realtyatlas.co.za/{suburb}-{propertyType}-{propertyStatus}-{propertyid}
其中以下变量可以替换为来自 API
的变量