scrapy 使用xpath分析属性页URL

zu0ti5jz  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(176)

我正在尝试解析主属性页https://www.realtyatlas.co.za/search?areas%5B0%5D%5Btown%5D=Bellville&status=For%20Sale,更准确地说,我想从这里的属性类中提取href,并创建以下链接:

<div class="col-md-4">
     <a class="property-item__wrap" href="/loevenstein-apartment-for-sale-1917472">

然而,我尝试过的所有组合都没有结果。我也知道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()
jm81lzqq

jm81lzqq1#

正如您已经发现的那样,属性信息来自您提到的API调用,而不是直接嵌入到您正在向其执行请求的站点中(由于javascript呈现),因此您需要直接从您的零碎请求中调用API来获取该信息(它是一个包含某些数据的POST请求,因此您需要自己构建它)
我可能是错的,但看起来这个站点是动态生成URL的,这取决于它提供的属性类型,所以您仍然可以使用来自API的数据自己创建URL:

https://www.realtyatlas.co.za/{suburb}-{propertyType}-{propertyStatus}-{propertyid}

其中,以下变量可以替换为来自API的变量

相关问题