一、首先明确爬取的数据为安居客(北京)的二手房源的数据信息,主要有房源链接地址,房源价格,房源单价,房源规模,房源大小,房源建造年份,房源地址。
https://beijing.anjuke.com/sale/p1/#filtersort
二、分析网页和确定储存方式
首先需要做的是确定翻页规则
第一页 发现地址为
第二页 发现地址为
第三页 发现地址为
细心的同学可能已经看出来了,变化的只有最后面图中高亮部分,也就是说,我们第一页就是p1,第二页就是p2,第三页就是p3了
其次我们需要明确解析数据所使用的方法,通过抓包我们可以发现响应是html格式的,所以小编这里采用的是lxml解析,其中每个数据的xpath解析式为
.xpath('//div[@class="house-title"]/a/@href') # 房源链接
.xpath('//div[@class="house-title"]/a/@title') # 房源名称
.xpath('//span[@class="price-det"]/strong/text()') # 房源价格
.xpath('//span[@class="unit-price"]/text()') # 房源单价
.xpath('//div[@class="house-details"]/div[2]/span[1]/text()') # 房源规模
.xpath('//div[@class="house-details"]/div[2]/span[2]/text()') # 房源大小
.xpath('//div[@class="house-details"]/div[2]/span[4]/text()') # 建筑年份
.xpath('//div[@class="house-details"]/div[2]/span[5]/text()') # 联系人
.xpath('//div[@class="housedetails"]/div[3]/span[1]/@title')) # 房源地址
最后,小编思考了一下数据存储的方式,这里小编采用了一个字典存取这个房源的所有信息,当然最好使用房源链接作为key,因为这个是不可能重复的,而且当我们翻页的时候,还能保证不会抓