目录
get_house_data()函数:用于获取房屋的具体信息
项目背景
目前房源数据作为人们都经常讨论的话题,房源数据又分为新房和二手房,而二手房想对于新房来说,不管是价格还是其他方面,对于居住地不稳定的打工来来说都是一个不错的选择。那么房源数据如何去获取呢,怎样才能得到自己想要的二手房房源信息呢?
这时候我们就会使用一些办法来获取这些房源数据,比如本项目所用到的python爬虫技术就可以快速的获取到自己想要的房源数据。
项目使用的技术栈与环境
所用技术:
- Python(作为该项目实现的编程语言)
- Python.requests(主要用于获取网页中的文本信息)
- Threading(线程——为了加快爬取速率所使用的一种方法)
- Parsel(用于对获取到的网页文本数据进行解析)
平台和环境:
- Windows11
- Pycharm3.8.10
项目功能
- 核心是实现对指定网页(https://xa.lianjia.com/ershoufang)数据进行爬取,并将数据按照指定的格式存储到csv中,方便用户对数据的保存和数据的查看。
- 本项目大致分为三个部分,数据的获取,数据解析和数据的存储,使用python自带的requests库对指定网页的文本数据进行获取;对获取的文本信息使用parsel库的一些方法进行文本解析得到所需要的数据;最后解析后的数据使用CSV文件格式和MYSQL进行存储。
项目的具体实现
-
项目的前期准备:
- 首先进入指定的网址观察网页结构
- 网址首页页面

点击进入详情页

详情页中基本信息页面内容

首页和详情页之间的关联

2. 选择所需要获取到的数据内容
需要获取所指定内容,比如首页中的关注人数和发布月份,还有详情页中的总价和单价以及小区的所在位置和基本信息的获取,这些都是需要获取的文本内容。
3. 需要提前导入以下库,方便后期的函数调用和项目搭建

说明:csv用于处理CSV文件、threading用于多线程处理、datetime用于处理日期时间、ThreadPoolExecutor用于创建线程池、parsel用于解析网页内容、requests用于发送HTTP请求
前期工作已经准备就绪,下面开始具体操作部分
具体代码部分
-
首先创建一个HouseSpider类

说明:
这是一个继承自Thread类的自定义线程类。在该类中定义了初始化方法__init__()、run()方法和一些辅助方法用于获取和处理房屋数据。
run()方法:在该方法中,使用ThreadPoolExecutor创建一个具有最大工作线程数为20的线程池,并调用get_house_data()方法来获取房屋数据。
-
Clear_data()函数:用于处理格式问题

本文介绍了一个使用Python爬虫技术抓取指定网站二手房房源信息的项目,通过多线程和Parsel库解析数据,存储至CSV和MySQL。文章还探讨了项目优化方向,如提高效率的异步方法和改进的存储选项。
3013

被折叠的 条评论
为什么被折叠?



