BeautifulSoup爬取贝壳网成都二手房源信息(附:完整源代码)

news/2024/8/23 22:38:23/

BeautifulSoup爬取贝壳网成都二手房源信息

最近想出一套二手房,刚好在学习爬虫,那就顺手爬一下贝壳上成都各区二手房信息了解一下行情,本篇先介绍数据爬取,数据分析稍后有时间再写。仅用于技术交流,请勿商业应用,如有侵权,联系删除。

1. 开发环境:
python 3.8.3;
bs4, pandas, requests;
存为csv, excel文件;

个人比较喜欢用bs4, 比较简洁,xpath也有优势,虽然路径稍复杂,但一步一步的往下找非常清晰。(效率方面暂时不做为重点考虑)

2. 最终获取表格展示
excel表格数据

3. 爬取过程分析
访问成都二手房一级页面url:
https://cd.ke.com/ershoufang/
分析一级页面可以看到每页有30套房源,房源列表在ul标签下面,class为 SellListContent。
二手房源一级页面房源列表
然后获取每套房源详情页的url,可以看到url在li–>a–>href中,bs4直接获取即可。

def get_detail_url(page):"""获取每一页30套房源的详情url"""base_url = 'http://cd.ke.com/ershoufang/pg{}/'.format(page)headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60",}response = requests.get(url = base_url, headers = headers)# print(response.status_code)base_data = response.content.decode()soup = BeautifulSoup(base_data, 'lxml')house_lists = soup.find_all('li', attrs={'class':'clear'})url_lists=[]for house in house_lists:house_link = house.find('a')['href']# print(house_link)url_lists.append(house_link)# print(url_lists)return url_lists

进入详情页获取该房源的所有信息,包括基本信息,交易信息,小区简介等。

保存数据为csv和excel格式。

详细代码如下:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Nov 27 16:53:04 20201. 获取贝壳网 成都市二手房信息
2. 存为csv, excel文件@author: 进击的SB
"""import requests
from bs4 import BeautifulSoup
import pandas as pd
import random
import timedef get_detail_url(page):"""获取每一页30套房源的详情url"""base_url = 'http://cd.ke.com/ershoufang/pg{}/'.format(page)headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60",}response = requests.get(url = base_url, headers = headers)# print(response.status_code)base_data = response.content.decode()soup = BeautifulSoup(base_data, 'lxml')house_lists = soup.find_all('li', attrs={'class':'clear'})url_lists=[]for house in house_lists:house_link = house.find('a')['href']# print(house_link)url_lists.append(house_link)# print(url_lists)return url_listsdef get_detail_info(detail_url):"""获取房屋详情页的信息,并存为List"""headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60",}response = requests.get(url = detail_url, headers = headers)# print(response.status_code)data = response.content.decode()soup = BeautifulSoup(data, 'lxml')data_lists = []# ***************获取二手房详细信息******************************************# 小区名称estate_name = soup.find('div', attrs={'class':'communityName'}).a.text# print(estate_name)data_lists.append(estate_name)# 房屋所在区域estate_areaName = soup.find('div', attrs={'class':'areaName'}).find('span',attrs={'class':'info'}).get_text('|', strip=True)# e = estate_areaName.find_all('a').text# print(estate_areaName)data_lists.append(estate_areaName)# 房屋总价totalPrice = soup.find('span', attrs={'class':'total'}).get_text(strip=True)# print(totalPrice)data_lists.append(totalPrice)# 房屋单价unitPrice = soup.find('span', attrs={'class':'unitPriceValue'}).get_text(strip=True)# print(unitPrice)data_lists.append(unitPrice)# 房屋贝壳编号house_id = soup.find('div', attrs={'class':'houseRecord'}).find('span',attrs={'class':'info'}).text[:12]# print(house_id)data_lists.append(house_id)# 获取房屋基本信息, 如:房屋户型 建筑面积 所在楼层 装修情况等house_base = soup.find('div', attrs={'class':'introContent'}).ul.get_text('|', strip=True)# print(house_base)data_lists.append(house_base)# 获取房屋交易信息,如:挂牌时间 交易权属 房屋用途 产权所有 抵押信息等house_transaction = soup.find('div', attrs={'class':'transaction'}).ul.get_text('|', strip=True)data_lists.append(house_transaction)# print(data_lists)#  获取小区简介,如:均价 建成年代 建筑类型 楼栋总数estateBrief = soup.find('div', attrs={'class':'xiaoqu_main fl'}).get_text('|',strip=True)# print(estateBrief)data_lists.append(estateBrief)return data_listsdef save_data(data):"""将list数据存到csv文件中"""df = pd.DataFrame(data,columns=['小区名称', '房屋所在区域', '房屋总价', '房屋单价', '房屋编号', '房屋基本信息', '房屋交易信息','小区简介'])print(df)df.to_csv('Cd_SecondHandHouse.csv', index=False, mode='a', encoding='gbk', header=False)def csv_to_excel():"""将csv文件转换为excel文件,并添加表头信息"""csv_to_excel = pd.read_csv('Cd_SecondHandHouse.csv', encoding='gbk', names=['小区名称', '房屋所在区域', '房屋总价(万元/套)', '房屋单价(元/平米)', '房屋编号', '房屋基本信息', '房屋交易信息','小区简介'])csv_to_excel.to_excel('Cd_SecondHandHouse.xlsx', sheet_name='Sheet1', index=False)def main(page):"""流程控制函数"""print('开始爬取成都二手房第{}页数据......'.format(page))get_detail_url(page)detail_urls = get_detail_url(page)for url in detail_urls:print('开始爬取详情页为{}的房屋信息......'.format(url))# 做适当延时,以免被认作恶意爬虫sleep_time = random.randint(1,5)print("主动休眠%d秒"%sleep_time)time.sleep(sleep_time)house_info = get_detail_info(detail_url=url)info_lists = []info_lists.append(house_info)save_data(info_lists)csv_to_excel()if __name__ == "__main__":for page in range(0, 10):main(page)

备注:写代码纯属个人爱好,专业提供投融资服务(种子轮,天使轮, IPO), 合规征信修复服务,VX: foxxjj。


http://www.ppmy.cn/news/184597.html

相关文章

上海二手房价数据分析

上海二手房价数据分析

目的:本篇给大家介绍一个数据分析的初级项目,目的是通过项目了解如何使用Python进行简单的数据分析。 数据源:博主通过爬虫采集的安X客上海二手房数据,由于能力问题,只获取了2160条数据。 数据初探 首先导入要使用的科…
阅读更多...
Python爬虫实战:爬取贝壳网二手房40000条数据

Python爬虫实战:爬取贝壳网二手房40000条数据

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于啤酒就辣条 ,作者啤酒就辣条 一、网页分析 爬取贝壳网石家庄二手房信息,先打开链接 https://sjz.ke.com/…
阅读更多...
基于javaweb+mysql的二手交易平台二手商城二手物品(前台、后台)

基于javaweb+mysql的二手交易平台二手商城二手物品(前台、后台)

基于javawebmysql的二手交易平台二手商城二手物品(前台、后台) 运行环境 Java≥8、MySQL≥5.7、Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 功能说…
阅读更多...
[小O地图-网抓]- 58同城二手房数据

[小O地图-网抓]- 58同城二手房数据

小O地图提供抓取58网站二手房源数据的功能,抓取数据可以导出成CSV文件,导出数据包括图片。 目标页面: 【1】新建任务 新建任务,选择【网页爬虫/房产类/58二手房】,输入任务名称、保存路径等信息后,点【确…
阅读更多...
2022-2028年中国二手奢侈品行业市场研究及前瞻分析报告

2022-2028年中国二手奢侈品行业市场研究及前瞻分析报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国二手奢侈品行业市场行业相关概述、中国二手奢侈品行业市场行业运行环境、分析了中国二手奢…
阅读更多...
基于SSM框架的重工旧书网(二手闲置书城、图书商城)

基于SSM框架的重工旧书网(二手闲置书城、图书商城)

目 录 摘 要 I Abstract II 1 绪论 1 1.1 研究背景和意义 1 1.2 国内外研究现状 2 1.3 论文组织结构 3 1.4 本章小结 3 2 核心使用技术分析 3 2.1 Java语言 4 2.2 Spring框架简介 6 2.3 Spring Boot 框架简介 6 2.4 MyBatis 框架简介 7 2.5 开发环境 8 3 需求分析 9 3.1 业务操…
阅读更多...
【Python】爬取贝壳网深圳二手房数据

【Python】爬取贝壳网深圳二手房数据

【Python】爬取贝壳网深圳二手房数据 一,爬取数据 1,爬取目标内容 先打开页面https://sz.ke.com/ershoufang/ ,看下页面的结构,分页的列表页,点击就可以跳转到对应的详细页面,有详细的二手房信息。 主…
阅读更多...
淘车网-二手车网

淘车网-二手车网

优卡二手车网更名为“淘车网” http://www.sina.com.cn 2012年04月02日 17:17 新浪科技 微博 新浪科技讯 4月2日下午消息,易车旗下二手车网站优卡宣布更名为“淘车网”,同时网站将启用新域名www.taoche.com。 淘车网的前身优卡二手车网成立于2006年&am…
阅读更多...
ChatGPT是什么,一文读懂ChatGPT

ChatGPT是什么,一文读懂ChatGPT

ChatGPT是个啥? 近期很多朋友后台私信GPT如何访问,我在网上找到一个免梯子的GPT,使用起来还是挺顺畅的,有需要的可以尝试使用,传送门,界面也挺清新的 近期,OpenAI 发布了 ChatGPT,是…
阅读更多...
前端脚手架、编译工具、框架官网笔记

前端脚手架、编译工具、框架官网笔记

1、与Vue相关的脚手架、编译工具、框架 工具官网简要说明Vue.jshttps://vuejs.org/zh/一套用于构建用户界面的渐进式JavaScript框架Vue CLIhttps://cli.vuejs.org/zh/基于Vue.js的标准化工具,可快速搭建Vue项目Vitehttps://vitejs.dev/一种新型前端构建工具&#x…
阅读更多...
相当经典的笑话,超级搞笑!(转贴)

相当经典的笑话,超级搞笑!(转贴)

1.老夫妇去拍照,摄影师问:“大爷,您是要侧光,逆光,还是全光?",大爷腼腆的说: “我是无所谓,能不能给你大妈留条裤衩?" 2.老婆语录&…
阅读更多...
保证让你笑的过瘾的35个笑话

保证让你笑的过瘾的35个笑话

1.蛇、蚂蚁、蜘蛛、蜈蚣几个人在家里搓麻将。8圈之后,烟抽完了。大家商量让谁去买烟。蛇说:我没脚,我不去,让蚂蚁去。蚂蚁说:蜘蛛八只脚,比我的多,让蜘蛛去。蜘蛛说:我的脚再多也比不…
阅读更多...
笑痛肚子的笑话

笑痛肚子的笑话

快高考了,高考完后又是中考...考题千奇百怪,答卷也五花八门。真佩服现在的学生啊,思维跳脱,天马行空,和我们那时候的循规蹈矩,差别太大了,呵呵。看一组语文试卷中的填空题--- 1.__________&…
阅读更多...
有史以来最强笑话--看完不要笑

有史以来最强笑话--看完不要笑

有史以来最强笑话--看完不要笑【转载】 http://ike.126.com 那天,我有个很好的朋友给我讲了个笑话,把我笑翻了,后来由于肚子太疼而进了医院。医生在给我做手术之前,问我为什么笑成这样啊,我就把那个笑话讲给他听.没想…
阅读更多...
史上最搞笑的笑话,送给我为情所伤的兄弟们,以及我自己!!

史上最搞笑的笑话,送给我为情所伤的兄弟们,以及我自己!!

史上最搞笑的笑话【转】    今天是2月14日,又到了一年一度的愚人节了。我在这里祝所有的朋友愚人节快乐。 那天,我有个很好的朋友给我讲了个笑话,把我笑翻了,后来由于肚子太疼而进了医院。医生在给我做手术之前,问我…
阅读更多...
几个笑死你的小笑话

几个笑死你的小笑话

卫生”厨房 餐后,一位顾客把饭店老板叫了来。 “先生,祝贺您!您这儿的厨房很卫生啊!” “多谢,先生……我尽力而为。但是,我请教,您不曾参观过我 的厨房怎么会夸这里很卫生呢?” …
阅读更多...
程序员幽默:让你笑到肚子痛的搞笑动图

程序员幽默:让你笑到肚子痛的搞笑动图

点击上方“iOS开发”,选择“置顶公众号” 关键时刻,第一时间送达! 今天小编用动图的方式带大家了解程序员这个逗逼、可爱的群体。看动图时大家注意形象啊! 1、程序员的生存状态 。 2、双核CPU的真相。 3、当年学C语言的过程。 4、…
阅读更多...
保证让你笑得非常过瘾的20个笑话!!!!

保证让你笑得非常过瘾的20个笑话!!!!

保证让你笑得非常过瘾的20个笑话 1. 蛇、蚂蚁、蜘蛛、蜈蚣几个在家里搓麻将。8圈之后,烟抽完了。大家商量让谁去买烟。蛇说: “我没脚,我不去,让蚂蚁去。”蚂蚁说: “蜘蛛八只脚&am…
阅读更多...
性能测试实战

性能测试实战

目录 一、创建线程组与http(s)请求1、JMeter关键词2、创建线程组3、线程组参数举例说明案例1:模拟5个用户,同时访问百度案例2:模拟5个用户,同时访问百度,并且循环2次案例3:模拟5个线程,持续执行10秒的时间案例4:模拟10秒启动10个线程,循环执行20秒4、创建http请求a、操…
阅读更多...
开学季有哪些蓝牙耳机值得推荐?性价比高的无线蓝牙耳机

开学季有哪些蓝牙耳机值得推荐?性价比高的无线蓝牙耳机

开学季即将来临,很多学生都在收拾开学用品,除了生活所需以外,蓝牙耳机也是使用最多的电子产品,在校园里的每个地方都可以使用得到,多数学生党除了看重音质以外,更多的是看重性价比方面,以下整理…
阅读更多...
最新文章

PHP网站源码坂田企业网站建设南澳品牌网站设计南澳网络营销惠州网站搭建深圳如何制作网站同乐百度竞价吉祥百度竞价爱联模板制作南澳网站优化软件大浪网站建设设计大鹏百姓网标王推广爱联建站木棉湾企业网站制作坑梓高端网站设计惠州网络广告推广横岗标王龙岗网站改版同乐网站设计沙井百姓网标王坑梓阿里店铺托管福永品牌网站设计南山网站推广工具坑梓网站推广工具大芬优化双龙设计网站东莞优化松岗网页制作民治企业网站制作福田百度标王石岩营销型网站建设歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化