成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

栏目: Python · 发布时间: 6年前

内容简介:作为一个技术人员,决定用技术解决这个疑问。我们用Python爬取了贝壳网上4万多套的成都在售房源,告诉你最真实的成都房价。

成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

作为一个技术人员,决定用技术解决这个疑问。我们用 Python 爬取了贝壳网上4万多套的成都在售房源,告诉你最真实的成都房价。

爬虫工作原理

在贝壳网上,成都的在售房源按照区域与地铁线这两个方式做了划分,为了更好的了解各区域房价,我们选择了抓取各区域板块的数据。然后再爬取了各板块内所有的房源数据,除了价格外,还有户型、朝向、电梯、楼层等信息。

成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

所有信息都以Excel形式导出,再通过分析计算得出了成都的房价水平。

房源数据分析

本次共爬取49328套成都二手房信息,剔除掉无效的车位信息后,共计收集了有效信息46980条。

成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

值得注意的是,金牛区不仅仅是在售二手房最多,人口老龄化问题也是几大区里比较严重的。

各区域平均房价如下图(单位:元/平米)

成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

高新区与天府新区这两大功能区因近年成都的“南拓”政策房价直线上涨,均价纷纷冲破1.8万元每平米,几乎就要彻底超越传统的五大主城区了。

成都单价最贵十大豪宅:

成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

文末知识点摘要:Python——Cookie保存到本地

方法一:

结合cookielib及urllib2,Python2时期比较常用的方法,年代比较久远了。个人觉得太麻烦,改用requests.

需要注意的是cookielib在python3中已经改成了http.cookiejar

保存cookie

成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

方法二:

使用requests.cookie

读取cookies

在这里我用的是LWPCookieJar保存在txt文件中,还有个是MozillaCookieJar,都是由FileCookieJar 派生而来,实现了save()方法,而FileCookieJar 没有实现save()

  • MozillaCookieJar (filename,delayload=None,policy=None):从FileCookieJar派生而来,创建与Mozilla浏览器 cookies.txt兼容的FileCookieJar实例。
  • LWPCookieJar (filename,delayload=None,policy=None):从FileCookieJar派生而来,创建与libwww-perl标准的 Set-Cookie3 文件格式兼容的FileCookieJar实例。 

成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

方法三:

将cookie字典弄成字典形式然后pickle或者json写入文件中

存储cookie

import requests,json,pprints = requests.session()s.headers = {...}a = s.get("https://www.baidu.com")cookies = requests.utils.dict_from_cookiejar(s.cookies)with open(".cook.txt", "w") as fp:json.dump(cookies, fp)pprint.pprint(cookies,width=5) 

读取cookie

with open(".cook.txt", "w") as fp:load_cookies=son.load(fp)session.cookie = requests.utils.cookiejar_from_dict(load_cookies) 

方法四:

将requests.cookie设置为LWPCookieJar、或MozillaCookieJar保存session = requests.Session()#创建个 LWPCookieJar对象session.cookies = LWPCookieJar(filename='cook.txt')s.get('https://www.baidu.com/',headers=headers)session.cookies.save(ignore_discard=True, ignore_expires=True)#如果save()时没有写filename参数,则默认为实例化LWPCookieJar时给的文件名

成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

save()方法的两个重要参数

ignore_discard: save even cookies set to be discarded.  
ignore_expires: save even cookies that have expired.The file is overwritten if it already exists 

ignore_discard的意思是即使cookies将被丢弃也将它保存下来,ignore_expires的意思是如果cookies已经过期也将它保存并且文件已存在时将覆盖

总结方法二和方法四可以看出,就是要将cookie转换成然后save()

简单介绍下cookielib模块作用,科普下实现cookie知识

python3中将cookielib模块改为了http.cookiejar cookielib模块的主要作用是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问Internet资源。例如可以利用本模块 的CookieJar类的对象来捕获cookie并在后续连接请求时重新发送。coiokielib模块用到的对象主要有下面几个:CookieJar、 FileCookieJar、MozillaCookieJar、LWPCookieJar。其中他们的关系如下:

成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!


以上所述就是小编给大家介绍的《成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

持续交付

持续交付

Jez Humble、David Farley / 乔梁 / 人民邮电出版社 / 2011-10 / 89.00元

Jez Humble编著的《持续交付(发布可靠软件的系统方法)》讲述如何实现更快、更可靠、低成本的自动化软件交付,描述了如何通过增加反馈,并改进开发人员、测试人员、运维人员和项目经理之间的协作来达到这个目标。《持续交付(发布可靠软件的系统方法)》由三部分组成。第一部分阐述了持续交付背后的一些原则,以及支持这些原则的实践。第二部分是本书的核心,全面讲述了部署流水线。第三部分围绕部署流水线的投入产出讨......一起来看看 《持续交付》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具