爬链家的房价数据

编程入门 行业动态 更新时间:2024-10-28 09:15:05

爬链家的<a href=https://www.elefans.com/category/jswz/34/1769574.html style=房价数据"/>

爬链家的房价数据

因为前阵子要买房子,所以自己写了个小的链家爬虫,分析一下房源价格位置啥的。爬虫也只有在想要用的时候,才有作用啊。漫无目的的爬,总觉得提不起兴致。

浏览器的查询xpath的工具是firebug,用firefox查起来比较方便。

链家有些信息做得还是很粗糙的,所以没法快速结构化,索性爬下来后用excel处理一下就好了。比如下面的户型、面积,是揉捏在一块的,只用“|”分隔。为图方便,全部抓取下来后,用excel分裂处理即可。




源码:

# -*- coding: utf-8 -*-import scrapy
from lianjia.items import lianjia
from scrapy.http import Request
import json
import reclass DmozSpider(scrapy.Spider):name = "lianjia"allowed_domains = ["sh.lianjia"]start_urls = ['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',]def parse(self,response):item_house=response.xpath('//ul[@id="house-lst"]/li/div[@class="info-panel"]')for i in item_house:item=lianjia()item['url'] = i.xpath('h2/a/@href').extract()item['community'] = i.xpath('div[1]/div[1]/a/span/text()').extract()item['room'] = i.xpath('div[1]/div[1]/span[1]/text()').extract()item['proportion'] = i.xpath('div[1]/div[1]/span[2]/text()').extract()item['otherInfo'] = i.xpath('div[1]/div[2]/div').extract()item['price'] = i.xpath('div[2]/div[1]/span/text()').extract()item['unit_price'] = i.xpath('div[2]/div[2]/text()').extract()item['subway'] = i.xpath('div[1]/div[3]/div/div/span[2]/span/text()').extract()item['tax_free'] = i.xpath('div[1]/div[3]/div/div/span[4]/span/text()').extract()item['has_key'] = i.xpath('div[1]/div[3]/div/div/span[4]/span/text()').extract()item['show_time'] = i.xpath('div[3]/div/div[1]/span/text()').extract()yield itemnext_page = response.xpath('//a[@gahref="results_next_page"]/@href').extract()if next_page:next_page = '' + next_page[0].encode("utf-8")yield Request(next_page, callback=self.parse)


注1:

为啥start_urls那么长,因为不高兴写什么正则了,查到上海商圈的list,就直接拿来用。简单,粗暴。


注2:

b250to350
这是价格在250到350之间的意思,还有其他筛选条件,例如面积、户型等。




更多推荐

爬链家的房价数据

本文发布于:2024-03-07 06:59:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1717140.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:房价   数据   链家

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!