爬虫 | Python爬取某平台杭州二手房数据

科技   科技   2024-07-02 08:10   天津  

点击上方"蓝字",关注"Python当打之年"
后台回复"1",领取众多Python学习资料

大家好,我是欧K~

本期给大家分享一下如何用python爬取某平台杭州二手房数据,包含行政区、标题、房屋信息(户型、楼层、朝向、年份)、地址、地铁、房价(总价、单价)等几部分信息,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。
可视化部分见:
【Pandas+Pyecharts | 杭州市二手房数据分析可视化】

所有内容仅供参考,不做他用。


1. 网页分析

目标网址(房天下:https://hz.esf.fang.com),分析区域信息和二手房房屋信息:

如果不分区域的话一共是100页数据。

接下来,按 F12 或者右键选择审查元素,搜索行政区:拱墅

这里我们可以看到所有行政区列表数据。

接下来搜索第一条信息望江 · 海潮御品公寓:

同样这里可以看到房屋信息的各项数据。

那么我们可以根据行政区来爬取整个杭州市的数据了,根据行政区爬取数据会相对多一些。


2. 爬取数据

2.1 导入模块
import time
import requests
import pandas as pd

2.2 请求网页数据

def get_data(cookies,headers,filepath):
    screen_dict = get_region()
    adrs = list(screen_dict.keys())
    print(adrs)
    for adr in adrs:
        print(f'当前爬取行政区:{adr} 第 1 页 ')
        url_1 = f'https://hz.esf.fang.com{screen_dict[adr]}i31/'
        print(url_1)
        onepageinfo,pages = get_first_page(url_1,cookies,headers,adr)
        if onepageinfo:
            insert2excel(filepath,onepageinfo)

2.3 解析数据

def get_onepage(url_one,cookies,headers,adr):    
    response = requests.get(url_one, cookies=cookies, headers=headers)
    soup = BeautifulSoup(response.text,'html.parser')
    house_list = shop_list.find_all('dl')
    onepageinfo = []
    for shop in house_list:
        tit_shop = shop.find_all(attrs={'class':'tit_shop'})[0].text
        tel_shop = shop.find_all(attrs={'class':'tel_shop'})[0].text
        add_shop = shop.find_all(attrs={'class':'add_shop'})[0].text
        label = shop.find_all(attrs={'class':'label'})[0].text
        price_right = shop.find_all(attrs={'class':'price_right'})[0].text

2.4 获取总页数

这里需要注意,每个行政区数据量不一样,也就是页数不一样,所以需要先解析出来当前行政区有多少页数据:

soup = BeautifulSoup(response.text,'html.parser')
pages = int(re.findall('共(\d+)页',soup.find_all(attrs={'class':'page_al'})[0].text)[0])

2.5 保存文件

def insert2excel(filepath,allinfo):
    if not os.path.exists(filepath):
        tableTitle = ['行政区','标题','房屋信息','地址','地铁','房价']
        wb = Workbook()
        ws = wb.active
        ws.title = 'sheet1'
        ws.append(tableTitle)
        wb.save(filepath)
        time.sleep(3)
    wb = load_workbook(filepath)
    ws = wb.active
    ws.title = 'sheet1'
    for info in allinfo:
        ws.append(info)
    wb.save(filepath)

2.6 结果


3. 源码+数据

源码下载 | Python可视化系列文章资源(源码+数据)

👉 公众号后台回复【可视化项目源码】获取全部代码+数据


END

以上就是本期为大家整理的全部内容了,喜欢的朋友可以点赞、点在看也可以分享让更多人知道。

 往期推荐 

源码下载 | Python可视化系列文章资源(源码+数据)

爬虫 | Python搞定软科中国大学排名

爬虫 | Python爬取胡润百富榜数据

爬虫 | Python爬取微博实时热搜榜信息

爬虫 | Python爬取B站榜排行榜信息

可视化 | Flask+Mysql+Echarts 豆瓣电影Top250数据分析系统

Pandas+Pyecharts | 当当网畅销图书榜单数据分析可视化

Pandas+Pyecharts | 海南旅游攻略数据分析可视化

Pandas+Pyecharts | 全国海底捞门店数据分析可视化

Pandas+Pyecharts | 京东某商品销量数据分析可视化

Pandas+Pyecharts | 第七次人口普查数据分析可视化

Pandas+Pyecharts | 快手APP全国大学生用户数据分析可视化

Pandas+Pyecharts | 奥迪汽车销量数据分析可视化

Pandas+Pyecharts | 剧荒了?用Python找找最近的热播好剧!

Pandas+Pyecharts | 2023年胡润百富榜数据分析可视化

Pandas+Pyecharts | 2023软科中国大学排名分析可视化

Pandas+Pyecharts | 成都大运会奖牌数据分析可视化

Pandas+Pyecharts | 电子产品销售数据分析可视化+用户RFM画像

Pandas+Pyecharts | 北京近五年历史天气数据可视化

Pandas+Pyecharts | 中国高校及专业数据分析可视化

Pandas+Pyecharts | 新冠疫情数据动态时序可视化

Pandas+Pyecharts | 全国吃穿住行消费排行榜,最‘抠门’的地区居然是北京!!!

Pandas+Pyecharts | 2022世界500强数据分析可视化

Pandas+Pyecharts | 上海市餐饮数据分析可视化

Pandas+Pyecharts | 山东省高考考生数据分析可视化

Pandas+Pyecharts | 20000+天猫订单数据可视化

Pandas+Pyecharts | 40000+汽车之家数据分析可视化

Pandas+Pyecharts | 广州市已成交房源信息数据可视化

Pandas+Pyecharts | 某直聘平台招聘信息数据可视化

可视化 | 再分享一套Flask+Pyecharts可视化模板二

可视化 | 分享一套Flask+Pyecharts可视化模板

可视化 | Python直观展示中国代表团冬奥会荣耀时刻

用Python分析了3W+《独行月球》影评数据,看看观众们怎么说~

Matplotlib | 世界足球俱乐部排名可视化

40000+条考研信息数据可视化(学校、专业分数分布)

【在看】的您又变好看了呢

Python当打之年
当打之年,专注于各领域Python技术,量的积累,质的飞跃。后台回复:【可视化项目源码】可获取可视化系列文章源码和数据
 最新文章