成都房价现在多少?和北京差距很大吗?Python爬取了四万套房源!
作为一个技术人员,决定用技术解决这个疑问。我们用Python爬取了贝壳网上4万多套的成都在售房源,告诉你最真实的成都房价。
爬虫工作原理
在贝壳网上,成都的在售房源按照区域与地铁线这两个方式做了划分,为了更好的了解各区域房价,我们选择了抓取各区域板块的数据。然后再爬取了各板块内所有的房源数据,除了价格外,还有户型、朝向、电梯、楼层等信息。
所有信息都以Excel形式导出,再通过分析计算得出了成都的房价水平。
房源数据分析
本次共爬取49328套成都二手房信息,剔除掉无效的车位信息后,共计收集了有效信息46980条。
值得注意的是,金牛区不仅仅是在售二手房最多,人口老龄化问题也是几大区里比较严重的。
各区域平均房价如下图(单位:元/平米)
高新区与天府新区这两大功能区因近年成都的“南拓”政策房价直线上涨,均价纷纷冲破1.8万元每平米,几乎就要彻底超越传统的五大主城区了。
成都单价最贵十大豪宅:
文末知识点摘要:Python——Cookie保存到本地
方法一:
结合cookielib及urllib2,Python2时期比较常用的方法,年代比较久远了。个人觉得太麻烦,改用requests.
需要注意的是cookielib在python3中已经改成了http.cookiejar
保存cookie
方法二:
使用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实例。
方法三:
将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时给的文件名
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。其中他们的关系如下:
相关文章
- mysql import java_Java执行Mysql导入
- 适用于 Amazon Redshift 的 AWS Data Exchange
- 面向 Oracle 的 Amazon RDS 自定义 – 数据库环境中的新控制功能
- 宣布推出面向数据科学家的完全托管式 RStudio on Amazon SageMaker
- 宣布推出适用于 API 的 AWS Data Exchange:查找、订阅和使用具有一致身份验证的第三方 API
- AWS Control Tower 新增功能 – 区域拒绝和防护机制可帮助您满足数据驻留要求
- 宣布推出 Amazon SageMaker Canvas — 面向业务分析师的可视化、无代码机器学习功能
- Amazon Kinesis Data Streams 按需模式 – 无需管理容量即可大规模流式传输数据
- AWS Lake Formation — 具有自动压缩功能的单元格级安全性和受控表正式发布
- 新功能 – Amazon DevOps Guru for RDS 使用 ML 检测、诊断和解决与 Amazon Aurora 相关的问题
- 新的 DynamoDB 表类别 – 节省多达 60% 的 DynamoDB 成本
- 新功能 – 面向 SQL Server 的 Amazon RDS 自定义现已正式推出
- 预览 — AWS Backup 添加了对 Amazon S3 的支持
- 新功能 – 简化对 Amazon S3 中所存储数据的访问管理
- Amazon S3 Glacier 是归档数据的最佳场所 — 引入 S3 Glacier 即时检索存储类
- python-fbprophet总结
- 新功能 — 使用 Amazon SageMaker Studio 创建和管理 EMR 集群和 Spark 任务
- 宣布推出 Amazon SageMaker Ground Truth Plus
- App Runner 新增功能 – VPC 支持
- 基于 Amazon EC2 快速部署高可用ClickHouse