美文网首页Python新世界@IT·互联网
成都房价现在多少?和北京差距很大吗?Pytho爬取了四万套房源!

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

作者: 919b0c54458f | 来源:发表于2018-09-19 11:49 被阅读108次

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

    爬虫工作原理

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

    进群:548377875   即可获取数十套PDF哦!

    所有信息都以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。其中他们的关系如下:

    相关文章

      网友评论

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

      本文链接:https://www.haomeiwen.com/subject/dytinftx.html