无法获得价格(错误列表索引超出范围)

时间:2019-06-16 10:48:33

标签: python-3.x web-scraping

我必须为我的大学完成一个Web爬网项目,我从一个房地产网站上爬网,但我无法从中获取价格,我需要的所有其他数据都运行良好。它在写错误

  

列表索引超出范围

但这是我所需要的。

var_4 = first.find_all("span", class_="pull-right")[0]

https://www.willhaben.at/iad/immobilien/mietwohnungen/niederoesterreich/wiener-neustadt?areaId=304&parent_areaid=3&page=1

这是链接,每个价格都具有相同的("span", class_="pull-right")

我需要价格数据才能为我的箱形图和图表分析房地产。

1 个答案:

答案 0 :(得分:0)

您可以对价格进行正则表达式。我还提取了adId,以便您可以链接到id。 item ['title']会给你标题。我将其保留为字典,以便您可以通过adId查找价格。

import requests, re, urllib ,json

r = requests.get('https://www.willhaben.at/iad/immobilien/mietwohnungen/niederoesterreich/wiener-neustadt?areaId=304&parent_areaid=3&page=1')
p1 = re.compile(r'var tmsJson = (.*);')
data = json.loads(urllib.parse.unquote(json.loads(p1.findall(r.text)[0])['tmsData']['search_results']))
listings = dict([(item['adId'], item.get('price', 'N/A')) for item in data])
print(listings)