Python爬取房产数据,哪里跌价买哪里,你可能不赚,但我永远不亏

小伙伴,我又来了,这次我们写的是用python爬虫爬取乌鲁木齐的房产数据并展示在地图上,地图工具我用的是 BDP个人版-免费在线数据分析软件,数据可视化软件 ,这个可以导入csv或者excel数据。

学习Python中有不明白推荐加入交流裙
号:735934841
群里有志同道合的小伙伴,互帮互助,
群里有免费的视频学习教程和PDF!

本次我使用的是scrapy框架,可能有点大材小用了,主要是刚学完用这个练练手,再写代码前我还是建议大家先分析网站,分析好数据,再去动手写代码,因为好的分析可以事半功倍,乌鲁木齐楼盘,乌鲁木齐新楼盘,乌鲁木齐楼盘信息 - 乌鲁木齐吉屋网 这个网站的数据比较全,每一页获取房产的LIST信息,并且翻页,点进去是详情页,获取房产的详细信息(包含名称,地址,房价,经纬度),再用pipelines保存item到excel里,最后在bdp生成地图报表,废话不多说上代码:

JiwuspiderSpider.py

# -*- coding: utf-8 -*-from scrapy import Spider,Requestimport refrom jiwu.items import JiwuItemclass JiwuspiderSpider(Spider): name = "jiwuspider" allowed_domains = ["wlmq.jiwu.com"] start_urls = [‘http://wlmq.jiwu.com/loupan‘] def parse(self, response): """ 解析每一页房屋的list :param response:  :return:  """ for url in response.xpath(‘//a[@class="index_scale"]/@href‘).extract(): yield Request(url,self.parse_html) # 取list集合中的url 调用详情解析方法 # 如果下一页属性还存在,则把下一页的url获取出来 nextpage = response.xpath(‘//a[@class="tg-rownum-next index-icon"]/@href‘).extract_first() #判断是否为空 if nextpage: yield Request(nextpage,self.parse) #回调自己继续解析 def parse_html(self,response): """ 解析每一个房产信息的详情页面,生成item :param response:  :return:  """ pattern = re.compile(‘<script type="text/javascript">.*?lng = ‘(.*?)‘;.*?lat = ‘(.*?)‘;.*?bname = ‘(.*?)‘;.*?‘ ‘address = ‘(.*?)‘;.*?price = ‘(.*?)‘;‘,re.S) item = JiwuItem() results = re.findall(pattern,response.text) for result in results: item[‘name‘] = result[2] item[‘address‘] = result[3] # 对价格判断只取数字,如果为空就设置为0 pricestr =result[4] pattern2 = re.compile(‘(d+)‘) s = re.findall(pattern2,pricestr) if len(s) == 0: item[‘price‘] = 0 else:item[‘price‘] = s[0] item[‘lng‘] = result[0] item[‘lat‘] = result[1] yield item

item.py

# -*- coding: utf-8 -*-# Define here the models for your scraped items## See documentation in:# http://doc.scrapy.org/en/latest/topics/items.htmlimport scrapyclass JiwuItem(scrapy.Item): # define the fields for your item here like: name = scrapy.Field() price =scrapy.Field() address =scrapy.Field() lng = scrapy.Field() lat = scrapy.Field() pass

pipelines.py 注意此处是吧mongodb的保存方法注释了,可以自选选择保存方式

# -*- coding: utf-8 -*-# Define your item pipelines here## Don‘t forget to add your pipeline to the ITEM_PIPELINES setting# See: http://doc.scrapy.org/en/latest/topics/item-pipeline.htmlimport pymongofrom scrapy.conf import settingsfrom openpyxl import workbookclass JiwuPipeline(object): wb = workbook.Workbook() ws = wb.active ws.append([‘小区名称‘, ‘地址‘, ‘价格‘, ‘经度‘, ‘纬度‘]) def __init__(self): # 获取数据库连接信息 host = settings[‘MONGODB_URL‘] port = settings[‘MONGODB_PORT‘] dbname = settings[‘MONGODB_DBNAME‘] client = pymongo.MongoClient(host=host, port=port) # 定义数据库 db = client[dbname] self.table = db[settings[‘MONGODB_TABLE‘]] def process_item(self, item, spider): jiwu = dict(item) #self.table.insert(jiwu) line = [item[‘name‘], item[‘address‘], str(item[‘price‘]), item[‘lng‘], item[‘lat‘]] self.ws.append(line) self.wb.save(‘jiwu.xlsx‘) return item

最后报表的数据

mongodb数据库

地图报表效果图:BDP分享仪表盘,分享可视化效果

https://me.bdp.cn/share/index.html?shareId=sdo_b697418ff7dc4f928bb25e3ac1d52348

小编推荐大家可以加我的扣扣群 735934841 。

里面有海量视频教程和学习资料免费领取,

不失为是一个学习的好地方,欢迎你的到来。

一起交流学习!共同进步!!

原文地址:https://www.cnblogs.com/52lmx/p/10185465.html

时间: 2024-08-02 20:42:19

Python爬取房产数据,哪里跌价买哪里,你可能不赚,但我永远不亏的相关文章

Python爬取房产数据,在地图上展现!

小伙伴,我又来了,这次我们写的是用python爬虫爬取乌鲁木齐的房产数据并展示在地图上,地图工具我用的是 BDP个人版-免费在线数据分析软件,数据可视化软件 ,这个可以导入csv或者excel数据. 首先还是分析思路,爬取网站数据,获取小区名称,地址,价格,经纬度,保存在excel里.再把excel数据上传到BDP网站,生成地图报表 本次我使用的是scrapy框架,可能有点大材小用了,主要是刚学完用这个练练手,再写代码前我还是建议大家先分析网站,分析好数据,再去动手写代码,因为好的分析可以事半功

python爬取网页数据

python时间戳 将时间戳转为日期 #!/usr/bin/python # -*- coding: UTF-8 -*- # 引入time模块 import time #时间戳 timeStamp = 1581004800 timeArray = time.localtime(timeStamp) #转为年-月-日形式 otherStyleTime = time.strftime("%Y-%m-%d ", timeArray) print(otherStyleTime) python爬

利用python爬取龙虎榜数据及后续分析

##之前已经有很多人写过相关内容,但我之前并未阅读过,这个爬虫也是按照自己的思路写的,可能比较丑陋,请见谅! 本人作为Python爬虫新手和股市韭菜,由于时间原因每晚没办法一个个翻龙虎榜数据,所以希望借助爬虫筛选出有用信息,供我分析(其实就是想偷懒...). 每日的龙虎榜数据都在:http://data.eastmoney.com/stock/lhb.html 爬取过程其实很简单,不需要登陆,也不需要模拟浏览器登录:数据量小,因此也不用多进程,也不用更换IP等反爬虫手段.后续的分析可能更关键.

python爬取github数据

爬虫流程 在上周写完用scrapy爬去知乎用户信息的爬虫之后,github上star个数一下就在公司小组内部排的上名次了,我还信誓旦旦的跟上级吹牛皮说如果再写一个,都不好意思和你再提star了,怕你们伤心.上级不屑的说,那就写一个爬虫爬一爬github,找一找python大牛,公司也正好在找人.临危受命,格外激动,当天就去研究github网站,琢磨怎么解析页面以及爬虫的运行策略.意外的发现github提供了非常nice的API以及文档文档,让我对github的爱已经深入骨髓. 说了这么多废话,讲

Python——爬取人口迁徙数据(以腾讯迁徙为例)

说明: 1.迁徙量是腾讯修改后的数值,无法确认真实性. 2.代码运行期间,腾讯迁徙未设置IP屏蔽和浏览器检测,因此下段代码仅能保证发布近期有效. 3.代码功能:爬取指定一天的四十个城市左右的迁徙量(含迁入.迁出). 1 import re 2 import urllib.request 3 import xlwt 4 import xlrd 5 6 date = "20171016" 7 cityList = xlrd.open_workbook("E:/city.xls&q

python爬取网页数据方法

"""#最基本,请求地址无参数# response=urllib.request.urlopen("https://www.scetc.edu.cn")## html=response.read().decode("utf-8")## print(html) #第二种,传参数的情况#参数的转换 参数的原始数据# key_value={'kw' : '胡歌'}# #要使用urllib.parse模块下的urllencode对原始数据进行转

没有内涵段子可以刷了,利用Python爬取段友之家贴吧图片和小视频(含源码)

由于最新的视频整顿风波,内涵段子APP被迫关闭,广大段友无家可归,但是最近发现了一个"段友"的app,版本更新也挺快,正在号召广大段友回家,如下图,有兴趣的可以下载看看(ps:我不是打广告的,没收广告费的) 同时,之前同事也发了一个贴吧的段子聚居地,客官稍等,马上奉上连接:段友之家?https://tieba.baidu.com/f?ie=... 然后呢,看到上面,确实好多段友在上面,于是乎,我就想爬取他们的图片和小视频,就有了这篇文章的主题: 其实吧,用Python爬取网站数据是最基

Python爬取京东商品数据

对京东某一商品信息页面的HTML代码进行分析,可以发现它的图书产品信息页面都含有这样一段代码(不同类的商品页面有些不同): window.pageConfig={compatible:true,searchType: 1,product:{"skuid":"11408255","name":"\u4f17\u795e\u7684\u536b\u661f\uff1a\u4e2d\u56fd\u7981\u533a","

python爬取数据被限制?一招教你伪造反爬技术!

1.Headers限制 这应该是最常见的,最基本的反爬虫手段,主要是初步判断你是否是真实的浏览器在操作. 这个一般很好解决,把浏览器中的Headers信息复制上去就OK了. 值得注意的是,很多网站只需要userAgent信息就可以通过,但是有的网站还需要验证一些其他的信息,比如知乎,有一些页面还需要 authorization 的信息.所以需要加哪些Headers,还需要尝试,可能还需要Referer.Accept-encoding等信息. 2.IP限制 限制IP也是很多网站反爬虫的初衷,有些人