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

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

内容简介:作为一个技术人员,决定用技术解决这个疑问。我们用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爬取了四万套房源!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

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

Beginning XML with DOM and Ajax

Beginning XML with DOM and Ajax

Sas Jacobs / Apress / 2006-06-05 / USD 39.99

Don't waste time on 1,000-page tomes full of syntax; this book is all you need to get ahead in XML development. Renowned web developer Sas Jacobs presents an essential guide to XML. Beginning XML with......一起来看看 《Beginning XML with DOM and Ajax》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具