与复杂的建筑技术有关,可以浪费美丽的汤

时间:2019-05-23 16:34:20

标签: python web web-scraping

由于复杂的标签,我想从成本,特征和家用设备领域中提取前两个特征。

This是网站。

PS:它是德语,因此请将其转换为英语。

要从成本中提取要素,我正在使用soup.find('div,{class:at-accordion-content}),然后再次使用.find(),但得到None

我必须从1.)成本中提取-购买价格和运营成本                        2.)特点-表面积,居住空间。 与此类似。

有人可以提供给我代码,以及如何从该网站中提取代码吗?

1 个答案:

答案 0 :(得分:0)

您可以发出与页面相同的请求以返回结果,即使用相同的API并解析json响应。

r['hits']具有所有结果,在这种情况下为1。如果有多个结果(您可能会丢失索引,例如item['priceInformation']['primaryPrice']

import requests

headers = {'Accept' : 'application/json, text/plain, */*'}
r = requests.get('https://www.immobilienscout24.at/api/psa/is24/properties/search?accountCwid=012.0012000001E83sA&areaNumberOfRoomsFrom=4&areaPrimaryAreaFrom=120&from=0&localizationGeoHierarchy=003006018&matchSubProperties=true&priceInformationHasPriceOnRequest=false&priceInformationPrimaryPriceTo=552000&size=5&typeEstateType=HOUSE&typeTransferType=BUY&typeUseType=RESIDENTIAL', headers = headers).json()

purchase_price = r['hits'][0]['priceInformation']['primaryPrice']
operating_cost = r['hits'][0]['priceInformation']['costs']['operationalCosts']['total']
surface = r['hits'][0]['area']['totalArea']
living_space = r['hits'][0]['area']['livingArea']
room = r['hits'][0]['area']['numberOfRooms']
bathroom = r['hits'][0]['area']['numberOfBathrooms']
print(purchase_price, operating_cost, surface, living_space, room, bathroom )