链家房源数据爬取(Scrapy)
背景知识要求
Scrapy爬虫框架。
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。
具体学习请参考:https://scrapy-chs.readthedocs.io/zh_CN/latest/index.html#
Python语法基础。
具体学习请参考:https://www.runoob.com/python3/python3-tutorial.html
摘要
获取链家北京石景山区苹果园地区的3000条成交记录,为后续数据清洗和机器学习做准备。
使用Scrapy的基本方法,没有应用的高级方法,希望学习Scrapy库的请绕行。
正文
创建Scrapy工程
编写items代码
房屋成交的时间、价格、户型、面积等数据定义。
class HomelinkItem(Item):
# define the fields for your item here like:
deal_time = Field() #成交时间
deal_totalPrice = Field() #成交价格
deal_unitPrice = Field() #成交单价
household_style = Field() #房屋户型
gross_area = Field() #建筑面积
usable_area = Field() #使用面积
house_orientation = Field() #房屋朝向
floor_number = Field() #所在楼层
build_year = Field() #建筑年代
year_of_property = Field() #产权年限
with_elevator = Field() #配备电梯
house_usage = Field() #房屋用途
is_two_five = Field() #满二满五
编写Spider代码
-
获取房源成交数据程序:
- start_request获取成交页面的第一个链接地址。
- parse获取房源成交页面总数量,遍历全部页面。
- parse_sale遍历一个页面中的全部房源链接。
- parse_content解析一个房源链接的数据。
class LianjiaSpider(scrapy.Spider):