📅  最后修改于: 2023-12-03 15:25:04.955000             🧑  作者: Mango
这是一个Python程序,能够返回安大略省拥有最便宜房屋的城市以及对应的平均售价。使用者可以输入心仪的城市名称,程序可以返回该城市的平均售价。
使用者需要安装Python 3.x环境。本程序使用到了以下第三方库:
使用者可以在终端或命令提示符下使用以下命令安装:
pip install requests beautifulsoup4
下载程序文件ontario_house_prices.py
,使用终端或命令提示符进入程序所在目录,执行以下命令:
python ontario_house_prices.py
程序会显示安大略省拥有最便宜房屋的城市以及对应的平均售价,例如:
安大略省拥有最便宜房屋的城市是 Kapuskasing,平均售价为 $130,465。
此外,程序会提示用户输入心仪的城市名称,并返回对应的平均售价,例如:
请输入您想知道平均售价的城市名称: Ottawa
Ottawa的平均售价为 $486,073。
以下是程序代码实现的主要部分,请按照Markdown语法在输出结果的每个代码片段前添加三个反引号和语言标识符:
import requests
from bs4 import BeautifulSoup
def get_web_data():
url_base = 'https://www.zoocasa.com'
url_province = url_base + '/on-home-prices'
response = requests.get(url_province)
soup = BeautifulSoup(response.text, 'html.parser')
target_container = soup.find('div', class_='superlatives__list')
return target_container
def get_cheapest_city(target_container):
cheapest_city_container = target_container.find_all('div',
class_ = 'superlatives-card')[-1]
cheapest_city = cheapest_city_container.find('a', class_ = 'superlatives-card__title').text
cheapest_city_average_price = cheapest_city_container.find('span',
class_ = 'superlatives-card__value').text
return cheapest_city, cheapest_city_average_price
def main():
target_container = get_web_data()
cheapest_city, cheapest_city_average_price = get_cheapest_city(target_container)
print(f"安大略省拥有最便宜房屋的城市是 {cheapest_city},平均售价为 {cheapest_city_average_price}。")
while True:
city_name = input("请输入您想知道平均售价的城市名称: ")
url_city = url_base + target_container.find('a', text = city_name)['href']
response = requests.get(url_city)
soup = BeautifulSoup(response.text, 'html.parser')
city_average_price = soup.find('div', class_ = 'overview__text').find('span',
class_ = 'overview__text--bold').text
print(f"{city_name}的平均售价为 {city_average_price}。")
if __name__ == "__main__":
main()
通过本程序,使用者可以轻松了解安大略省房价的概况,特别是最便宜的城市以及对应平均售价。同时,使用者可以自由输入所需查询的城市进行定制化查询。