python3 租房信息

通过 chrome 浏览器 可以 copy 元素 到 notepad++ 中。
在 notepad++ 中,建立一个 空的 html文件。
可以在里面看 copy过来的 html 源码
在这里插入图片描述

copy完 之后的 效果是 一行很长 的字符串。
看看怎么 格式化一下 方便查看。
http://www.bejson.com/jshtml_format/
格式化 一下

from selenium import webdriver
import time

driver = webdriver.Firefox(executable_path = r'C:\ProgramData\Anaconda3\Scripts\geckodriver.exe')
# 把上述地址改成你电脑中geckodriver.exe程序的地址
# 在虚拟浏览器中打开 Airbnb 页面
driver.get("https://zh.airbnb.com/s/Shenzhen--China/homes")

# 找到页面中所有的出租房
#driver.switch_to.frame(driver.find_element_by_css_selector("iframe[title='livere']"))
rent_list = driver.find_elements_by_css_selector('div._gig1e7')

# 对于每一个出租房
for eachhouse in rent_list:
    # 找到评论数量
    try:
        comment = eachhouse.find_element_by_css_selector('span._1clmxfj')
        comment = comment.text
    except:
        comment = 0
        print ('error')

    # 找到价格
    price = eachhouse.find_element_by_css_selector('div._1ixtnfc')
    price = price.text.replace("每晚", "").replace("价格", "").replace("\n", "")

    # 找到名称
    name = eachhouse.find_element_by_css_selector('div._1revvmz')
    name = name.text

    # 找到房屋类型,大小
    details = eachhouse.find_element_by_css_selector('span._fk7kh10')
    details = details.text
    house_type = details.split(" · ")[0]
    bed_number = details.split(" · ")[1]
    print(price, ' : ', name, ' : ', house_type, ' : ', bed_number, ' : ', comment)

    print('-----------------------\n')

结果:

C:\ProgramData\Anaconda3\python.exe E:/python/work/ana_test/test.py
¥398  :  [Misa’s house] ‘想‘老街地铁口/kkmall万象城罗湖口岸/ins风商务房/直达香港  :  整套公寓  :  1室1卫2床  :  4.8分 · 75条评论
-----------------------

¥298  :  【宫遇】17-KKmall楼上一房一厅--【Loft时代】  :  整套公寓  :  1室1卫1床  :  4.9分 · 223条评论
-----------------------

¥298  :  【十二微邸】14J-KKmall楼上的城市微魔方  :  整套公寓  :  1室1.5卫1床  :  4.8分 · 228条评论
-----------------------

¥152  :  深圳北站 大床房 直达香港口岸/出差首选 1.8米超大床房 温馨舒适北欧风公寓  :  独立房间  :  1室2卫1床  :  4.9分 · 235条评论
-----------------------

¥389  :  LADYMA |原宿 摩洛哥风格 福田CBD会展中心#家庭影院CocoPark福田皇岗口岸岗厦地铁口  :  整套公寓  :  1室1卫1床  :  4.6分 · 131条评论
-----------------------

¥300  :  (云意)罗湖阅见·生活美学公寓城景大床房近地王大厦万象城KKMALL大剧院D出口  :  整套公寓  :  1室1卫1床  :  4.7分 · 194条评论
-----------------------

¥265  :  [Studio Q-Cozy]KKmall楼上/大剧院站/京基100/Luohu/深圳罗湖  :  整套公寓  :  单间1卫1床  :  4.7分 · 55条评论
-----------------------

¥298  :  【十二微邸】32Q-KKmall楼上的天空微城堡  :  整套公寓  :  1室1卫1床  :  4.9分 · 222条评论
-----------------------

¥318  :  【克洛偌斯】万象城 | kkmall | 老街美食中心 | 罗湖口岸 | 巨幕投影 | 北欧公寓  :  整套公寓  :  1室1卫1床  :  4.8分 · 96条评论
-----------------------

¥339  :  【猫薄荷】近福田中心区|美食街道|loft公寓|巨幕投影|泡泡吊椅  :  整间LOFT  :  1室1卫1床  :  4.8分 · 144条评论
-----------------------

¥219  :  水贝珠宝园7号线地铁出口高端居家公寓  :  整套酒店式公寓  :  1室1卫1床  :  4.4分 · 75条评论
-----------------------

¥395  :  【GAO's Home】福田中心区设施齐备的品质温馨小家(近市中心、会展中心、福田口岸)  :  整套公寓  :  1室1卫1床  :  4.9分 · 188条评论
-----------------------

¥320  :  #寒舍Room4#福田下沙地铁口高层景观公寓,森林极简风,交通便利,私人房间,拍摄请另咨询  :  独立房间  :  1室1卫1床  :  4.8分 · 190条评论
-----------------------

¥201  :  暖空调 马赛克浴缸 溜达家英式 一房里的精致生活 整租 3号线地铁口 龙岗中心城大运中心万科广场  :  整套公寓  :  1室1卫1床  :  4.8分 · 128条评论
-----------------------

¥335  :  福田CBD/会展中心/莲花山/近福田口岸/皇岗口岸/地铁9号线孖岭地铁口/温馨一房一厅  :  小屋  :  1室1卫1床  :  5.0分 · 85条评论
-----------------------

¥178  :  Loire花房公寓  :  合住房间  :  1室1卫1床  :  4.5分 · 115条评论
-----------------------

¥148  :  浪漫的气球帘榻榻米,全景落地玻璃阳光房  :  独立房间  :  1室1.5卫1床  :  5.0分 · 53条评论
-----------------------

¥338  :  【白日梦蓝】美食街|loft|罗湖口岸|双地铁|巨幕影院 | 游泳池1-3人公寓  :  整套公寓  :  1室1卫1床  :  4.6分 · 159条评论
-----------------------


Process finished with exit code 0

在这里插入图片描述

有一个问题:
为啥 这里 不需要:
#driver.switch_to.frame(driver.find_element_by_css_selector(“iframe[title=‘livere’]”))

多页面看看

代码如下:

from selenium import webdriver
import time

driver = webdriver.Firefox(executable_path = r'C:\ProgramData\Anaconda3\Scripts\geckodriver.exe')
# 把上述地址改成你电脑中geckodriver.exe程序的地址
# 在虚拟浏览器中打开 Airbnb 页面

for i in range(0, 5):

    #driver.get("https://zh.airbnb.com/s/Shenzhen--China/homes")
    link = "https://zh.airbnb.com/s/Shenzhen--China/homes?items_offset=" + str(i * 18)
    driver.get(link)
    # 找到页面中所有的出租房
    #driver.switch_to.frame(driver.find_element_by_css_selector("iframe[title='livere']"))
    rent_list = driver.find_elements_by_css_selector('div._gig1e7')

    # 对于每一个出租房
    for eachhouse in rent_list:
        # 找到评论数量
        try:
            comment = eachhouse.find_element_by_css_selector('span._1clmxfj')
            comment = comment.text
        except:
            comment = 0
            print ('error')

        # 找到价格
        price = eachhouse.find_element_by_css_selector('div._1ixtnfc')
        price = price.text.replace("每晚", "").replace("价格", "").replace("\n", "")

        # 找到名称
        name = eachhouse.find_element_by_css_selector('div._1revvmz')
        name = name.text

        # 找到房屋类型,大小
        details = eachhouse.find_element_by_css_selector('span._fk7kh10')
        details = details.text
        house_type = details.split(" · ")[0]
        bed_number = details.split(" · ")[1]
        print(price, ' : ', name, ' : ', house_type, ' : ', bed_number, ' : ', comment)

        print('-----------------------\n')

    time.sleep(5)
加快加载速度

代码如下:

from selenium import webdriver
import time

fp = webdriver.FirefoxProfile()
fp.set_preference("permissions.default.stylesheet", 2)
fp.set_preference("permissions.default.image", 2)
fp.set_preference("javascript.enabled", False)


driver = webdriver.Firefox(firefox_profile=fp, executable_path = r'C:\ProgramData\Anaconda3\Scripts\geckodriver.exe')
# 把上述地址改成你电脑中geckodriver.exe程序的地址
# 在虚拟浏览器中打开 Airbnb 页面

for i in range(0, 5):

    #driver.get("https://zh.airbnb.com/s/Shenzhen--China/homes")
    link = "https://zh.airbnb.com/s/Shenzhen--China/homes?items_offset=" + str(i * 18)
    driver.get(link)
    # 找到页面中所有的出租房
    #driver.switch_to.frame(driver.find_element_by_css_selector("iframe[title='livere']"))
    rent_list = driver.find_elements_by_css_selector('div._gig1e7')

    # 对于每一个出租房
    for eachhouse in rent_list:
        # 找到评论数量
        try:
            comment = eachhouse.find_element_by_css_selector('span._1clmxfj')
            comment = comment.text
        except:
            comment = 0
            print ('error')

        # 找到价格
        price = eachhouse.find_element_by_css_selector('div._1ixtnfc')
        price = price.text.replace("每晚", "").replace("价格", "").replace("\n", "")

        # 找到名称
        name = eachhouse.find_element_by_css_selector('div._1revvmz')
        name = name.text

        # 找到房屋类型,大小
        details = eachhouse.find_element_by_css_selector('span._fk7kh10')
        details = details.text
        house_type = details.split(" · ")[0]
        bed_number = details.split(" · ")[1]
        print(price, ' : ', name, ' : ', house_type, ' : ', bed_number, ' : ', comment)

        print('-----------------------\n')

    time.sleep(5)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值