通过数据分析那些宜居的城市

相信对与不少在北上广深飘着的年轻人来说,是选择继续留在大城市拼搏呢还是回到小城市发展,一直都困扰着他们。毕竟像网络上说的那样,“异乡容不下肉身,故乡装不下灵魂”。那么退居到二三线找一个城市安居乐业,房子首先是要考虑解决的问题,不同城市的购房成本也是不一样的。不过从总体上来看,新一线或二三线城市的购房成本比在一线城市中购房要低不少,而且有不少新一线城市是很适合居住的城市,今天小编以一个爬虫工作者通过获取数据分析来为大家分析一下,逃离北上广之后,还有哪些城市适合年轻人定居。

需求:根据输入的城市名获取该城市的房价信息,对获得的数据进行简单的分析。

目标网站:lianjia.com/

实现思路:像链家这样的网站一般反爬策略是做的比较好的,并且获取的数据也不少,所以在访问过程中是需要加上代理ip的。本文使用了最简单的爬虫动态转发代理。实现代码如下:

#! -*- encoding:utf-8 -*-
        import base64            
        import sys
        import random

        PY3 = sys.version_info[0] >= 3

        def base64ify(bytes_or_str):
            if PY3 and isinstance(bytes_or_str, str):
                input_bytes = bytes_or_str.encode('utf8')
            else:
                input_bytes = bytes_or_str

            output_bytes = base64.urlsafe_b64encode(input_bytes)
            if PY3:
                return output_bytes.decode('ascii')
            else:
                return output_bytes

        class ProxyMiddleware(object):                
            def process_request(self, request, spider):
                # 代理服务器(产品官网 www.16yun.cn)
                proxyHost = "t.16yun.cn"
                proxyPort = "31111"

                # 代理验证信息
                proxyUser = "username"
                proxyPass = "password"

                request.meta['proxy'] = "http://{0}:{1}".format(proxyHost,proxyPort)

                # 添加验证头
                encoded_user_pass = base64ify(proxyUser + ":" + proxyPass)
                request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass                    

                # 设置IP切换头(根据需求)
                tunnel = random.randint(1,10000)
                request.headers['Proxy-Tunnel'] = str(tunnel)
复制代码

通过获取到的数据分统计了一下全国主要一些城市的购房成本,其中长沙、沈阳、重庆、杭州的房价收入比相对偏低,相对来说要轻松些,当然除了房子本身之外,一个城市的各种设施等因素也是不少年轻人着重考虑的,所以考虑定居一城市也是需要从多方面进行考量的。

猜你喜欢

转载自juejin.im/post/7032192085520465951