我必须为我的大学完成一个Web爬网项目,我从一个房地产网站上爬网,但我无法从中获取价格,我需要的所有其他数据都运行良好。它在写错误
列表索引超出范围
但这是我所需要的。
var_4 = first.find_all("span", class_="pull-right")[0]
这是链接,每个价格都具有相同的("span", class_="pull-right")
我需要价格数据才能为我的箱形图和图表分析房地产。
答案 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)