由于复杂的标签,我想从成本,特征和家用设备领域中提取前两个特征。
This是网站。
PS:它是德语,因此请将其转换为英语。
要从成本中提取要素,我正在使用soup.find('div,{class:at-accordion-content})
,然后再次使用.find()
,但得到None
。
我必须从1.)成本中提取-购买价格和运营成本 2.)特点-表面积,居住空间。 与此类似。
有人可以提供给我代码,以及如何从该网站中提取代码吗?
答案 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 )