[Selenium+Pyecharts]爬虫悉尼租房信息,清洗数据并可视化

1.主要目的:

对于刚来悉尼的留学生,房价不透明,很容易被无良黑心中介或个人骗钱(还记得大概6年前,第一次在悉尼和我史大哥租房,930刀一周一房一卫,被坑的不要不要的),因此这个程序也许能快速帮助留学生了解悉尼某区域不同房型的平均价格,以及各种类型的房型有多少在租。
时至今日,澳洲边境不开,租房的需求越来越低,如何有理有据的和房东或者中介讨论新的房租,这些数据可能可以帮到你。

2.功能实现:

1 用户自主查询想要了解的区域

2 爬虫今日悉尼该区域的最新租房信息,自动化清洗数据和自动可视化

选取今日悉尼作为爬虫的原因是作为澳洲最大的华人平台,不论是大部分华人房东还是租客都依赖于今日悉尼,并且华人房东的房子地址装修各种都受到华人留学生的青睐。

3.代码展示:

备注是写博客的时候才加上的,具体有哪行代码不清楚的,欢迎留言讨论。

from selenium import webdriver
import pandas as pd
from selenium.webdriver.common.keys import Keys
import time
from pyecharts.charts import Pie,Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType

#获取用户想要查询的信息
distinct = str(input("请输入您要查询的区域: ").lower())
times = int(input("请输入您要加载的次数: "))

class SydneyTodayRent():
	#初始化信息
    def __init__(self):
        self.url = 'https://www.sydneytoday.com/house_rent'
        self.wd = webdriver.Chrome()
        self.wd.implicitly_wait(10)
        self.distinct = distinct
        self.distinct_1 = distinct[:-1]
        self.times = times
	#打开今日悉尼
    def open(self):
        self.wd.get(self.url)
	#进行爬虫
    def input(self):
        element = self.wd.find_element_by_id('autocomplete_suburb')
        element.send_keys(self.distinct_1)
        time.sleep(2)
        element.send_keys(Keys.DOWN)
        time.sleep(1)
        element.send_keys(Keys.ENTER)
        time.sleep(1)
        for i in range(int(self.times)):
            print(f'正在进行第{i + 1}次加载')
            self.wd.find_element_by_css_selector('.btn.btn-default.btn-lg.mtg-loadmore').send_keys(Keys.ENTER)

猜你喜欢

转载自blog.csdn.net/weixin_52589734/article/details/113569032