├── housespider ├── housespider │ ├── __init__.py │ ├── spiders │ │ ├── __init__.py │ │ ├── lianjia.py │ │ ├── a5i5j.py │ │ └── ftx.py │ ├── pipelines.py │ ├── items.py │ ├── settings.py │ └── middlewares.py ├── __init__.py └── scrapy.cfg ├── .gitignore ├── requirements.txt ├── README.md ├── LICENSE └── notebook ├── lianjia.ipynb └── ftx.ipynb /housespider/housespider/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | venv/ 2 | __pycache__/ 3 | result/ 4 | .ipynb_check* 5 | *.xlsx 6 | *.csv 7 | -------------------------------------------------------------------------------- /housespider/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """ 3 | Created on 01/03/2018 4 | 5 | @author: 'Jiezhi.G@gmail.com' 6 | 7 | Reference: 8 | """ 9 | -------------------------------------------------------------------------------- /housespider/housespider/spiders/__init__.py: -------------------------------------------------------------------------------- 1 | # This package will contain the spiders of your Scrapy project 2 | # 3 | # Please refer to the documentation for information on how to create and manage 4 | # your spiders. 5 | -------------------------------------------------------------------------------- /housespider/scrapy.cfg: -------------------------------------------------------------------------------- 1 | # Automatically created by: scrapy startproject 2 | # 3 | # For more information about the [deploy] section see: 4 | # https://scrapyd.readthedocs.io/en/latest/deploy.html 5 | 6 | [settings] 7 | default = housespider.settings 8 | 9 | [deploy] 10 | #url = http://localhost:6800/ 11 | project = housespider 12 | -------------------------------------------------------------------------------- /housespider/housespider/pipelines.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Define your item pipelines here 4 | # 5 | # Don't forget to add your pipeline to the ITEM_PIPELINES setting 6 | # See: https://doc.scrapy.org/en/latest/topics/item-pipeline.html 7 | 8 | 9 | class HousespiderPipeline(object): 10 | def process_item(self, item, spider): 11 | return item 12 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | asn1crypto==0.24.0 2 | attrs==17.4.0 3 | Automat==0.6.0 4 | cffi==1.11.4 5 | constantly==15.1.0 6 | cryptography==3.2 7 | cssselect==1.0.3 8 | hyperlink==18.0.0 9 | idna==2.10 10 | incremental==17.5.0 11 | lxml==4.6.3 12 | parsel==1.6.0 13 | pyasn1==0.4.2 14 | pyasn1-modules==0.2.1 15 | pycparser==2.18 16 | PyDispatcher==2.0.5 17 | PyHamcrest==1.9.0 18 | pyOpenSSL==17.5.0 19 | queuelib==1.4.2 20 | Scrapy==1.6.0 21 | service-identity==17.0.0 22 | six==1.11.0 23 | Twisted==19.7.0 24 | w3lib==1.19.0 25 | zope.interface==4.4.3 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # HouseSpider 2 | --- 3 | 4 | 说实话没几行代码,没啥技术含量,爬取的时候比较粗鲁,更细的信息提取放在了本地来做了。 5 | 6 | 先用浏览器找到自己感兴趣的城市,然后复制链接到对应代码位置,如: 7 | 8 | `start_urls = ['http://esf.nanjing.fang.com/house/h316/']` 9 | 10 | 运行说明: 11 | > 爬取"房天下"的数据 12 | ```bash 13 | scrapy runspider ftx.py -o ftx.csv 14 | ``` 15 | 16 | > 下面这个是爬取链家的数据 17 | ```bash 18 | scrapy runspider lianjia.py -o lianjia.csv 19 | ``` 20 | 21 | 本地具体怎么提取信息和分析请参考: 22 | 23 | [房天下信息提取](https://github.com/Jiezhi/HouseSpider/blob/master/ftx.ipynb) 24 | 25 | [链家信息提取](https://github.com/Jiezhi/HouseSpider/blob/master/lianjia.ipynb) 26 | 27 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Jiezhi.G 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /housespider/housespider/items.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Define here the models for your scraped items 4 | # 5 | # See documentation in: 6 | # https://doc.scrapy.org/en/latest/topics/items.html 7 | 8 | from scrapy import Item, Field 9 | 10 | 11 | class HousespiderItem(Item): 12 | title = Field() 13 | url = Field() 14 | info = Field() 15 | loc = Field() 16 | loc_url = Field() 17 | loc_detail = Field() 18 | pub_time = Field() 19 | area = Field() 20 | price = Field() 21 | unit_price = Field() 22 | tags = Field() 23 | 24 | 25 | class HouseDetailItem(Item): 26 | # Basic 27 | title = Field() 28 | price = Field() 29 | room = Field() 30 | area = Field() 31 | direction = Field() 32 | floor = Field() 33 | fitment = Field() 34 | broker = Field() 35 | broker_url = Field() 36 | broker_star = Field() 37 | broker_company = Field() 38 | broker_tel = Field() 39 | 40 | url = Field() 41 | 42 | # House info 43 | build_year = Field() 44 | lift = Field() 45 | property_right = Field() 46 | house_catalog = Field() 47 | house_structure = Field() 48 | house_material = Field() 49 | add_time = Field() 50 | 51 | 52 | class House5i5jItem(Item): 53 | title = Field() # 标题 54 | tag = Field() # 标签 55 | id = Field() # 编号 56 | price = Field() # 总价 57 | unit_price = Field() # 单价 58 | house_type = Field() # 户型 59 | area = Field() # 面积 60 | # loc = Field() # 小区 61 | floor = Field() # 楼层 62 | direction = Field() # 朝向 63 | fitment = Field() # 装修 64 | usage = Field() # 规划用途 65 | year = Field() # 年代 66 | structure = Field() # 建筑类型 67 | visit_time = Field() # 看房时间 68 | metro = Field() # 地铁 69 | property_right = Field() # 产权 70 | list_time = Field() # 挂牌时间 71 | 72 | # 小区信息 73 | community = Field() # 小区 74 | mean_price = Field() # 均价 75 | build_year = Field() # 建筑年代 76 | total_houses = Field() # 总户数 77 | district = Field() # 商圈 78 | wuye = Field() # 物业 79 | on_sale = Field() # 在售房源 80 | on_rent = Field() # 在租房源 81 | 82 | url = Field() 83 | -------------------------------------------------------------------------------- /housespider/housespider/spiders/lianjia.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """ 3 | Created on 27/02/2018 4 | 5 | @author: 'Jiezhi.G@gmail.com' 6 | 7 | Source code: https://github.com/Jiezhi/HouseSpider 8 | 9 | Reference: 10 | """ 11 | import scrapy 12 | import re 13 | 14 | 15 | class LianjiaSpider(scrapy.Spider): 16 | name = 'lianjia' 17 | 18 | allowed_domains = ['lianjia.com'] 19 | 20 | start_urls = ['https://nj.lianjia.com/ershoufang/pg1co32/'] 21 | 22 | # def start_requests(self): 23 | # all_url = ['https://nj.lianjia.com/ershoufang/pg{}/'.format(i) for i in range(1, 100)] 24 | # for url in all_url: 25 | # print(url) 26 | # yield scrapy.Request(url, self.parse) 27 | 28 | def parse(self, response): 29 | self.logger.info('start parse %s!', response.url) 30 | self.logger.info('*' * 40) 31 | houses = response.css('li.clear') 32 | for house in houses: 33 | # print(house) 34 | yield { 35 | 'title': house.css('div.title a::text').extract_first(), 36 | 'houseLoc': house.css('div.houseInfo a::text').extract_first(), 37 | 'houseInfo': house.css('div.houseInfo::text').extract_first(), 38 | 'housePosition': house.css('div.positionInfo::text').extract_first(), 39 | 'housePositionInfo': house.css('div.positionInfo a::text').extract_first(), 40 | 'houseFollowInfo': house.css('div.followInfo::text').extract_first(), 41 | 'houseSubway': house.css('div.tag span.subway::text').extract_first(), 42 | # '距离3号线柳洲东路站1138米' 43 | 'houseTaxfree': house.css('div.tag span.taxfree::text').extract_first(), 44 | # '房本满五年' 45 | 'houseHaskey': house.css('div.tag span.haskey::text').extract_first(), 46 | # '随时看房' 47 | 'houseTotalPrice': house.css('div.totalPrice span::text').extract_first(), 48 | # '192' 49 | 'housePriceUnit': house.css('div.totalPrice::text').extract_first(), 50 | # '万' 51 | 'houseUnitPrice': house.css('div.unitPrice span::text').extract_first(), 52 | # '单价21896元/平米' 53 | 'houseUrl': house.css('div.title a::attr(href)').extract_first(), 54 | # 'https://nj.lianjia.com/ershoufang/103102037187.html' 55 | } 56 | 57 | # for url in response.xpath('//a/@href').extract(): 58 | # print(url) 59 | # yield scrapy.Request(url, callback=self.parse) 60 | 61 | next_page_info = response.css('div[class="page-box fr"]').css('div::attr(page-data)').extract_first() 62 | next_page_info = re.findall('\d+', next_page_info) 63 | next_page = 'https://nj.lianjia.com/ershoufang/pg{page}co32'.format(page=str(int(next_page_info[1]) + 1)) 64 | yield scrapy.Request(next_page, callback=self.parse) 65 | -------------------------------------------------------------------------------- /housespider/housespider/settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Scrapy settings for housespider project 4 | # 5 | # For simplicity, this file contains only settings considered important or 6 | # commonly used. You can find more settings consulting the documentation: 7 | # 8 | # https://doc.scrapy.org/en/latest/topics/settings.html 9 | # https://doc.scrapy.org/en/latest/topics/downloader-middleware.html 10 | # https://doc.scrapy.org/en/latest/topics/spider-middleware.html 11 | 12 | BOT_NAME = 'housespider' 13 | 14 | SPIDER_MODULES = ['housespider.spiders'] 15 | NEWSPIDER_MODULE = 'housespider.spiders' 16 | 17 | 18 | # Crawl responsibly by identifying yourself (and your website) on the user-agent 19 | USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36' 20 | 21 | # Obey robots.txt rules 22 | ROBOTSTXT_OBEY = False 23 | 24 | # Configure maximum concurrent requests performed by Scrapy (default: 16) 25 | #CONCURRENT_REQUESTS = 32 26 | 27 | # Configure a delay for requests for the same website (default: 0) 28 | # See https://doc.scrapy.org/en/latest/topics/settings.html#download-delay 29 | # See also autothrottle settings and docs 30 | #DOWNLOAD_DELAY = 3 31 | # The download delay setting will honor only one of: 32 | #CONCURRENT_REQUESTS_PER_DOMAIN = 16 33 | #CONCURRENT_REQUESTS_PER_IP = 16 34 | 35 | # Disable cookies (enabled by default) 36 | #COOKIES_ENABLED = False 37 | 38 | # Disable Telnet Console (enabled by default) 39 | #TELNETCONSOLE_ENABLED = False 40 | 41 | # Override the default request headers: 42 | #DEFAULT_REQUEST_HEADERS = { 43 | # 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 44 | # 'Accept-Language': 'en', 45 | #} 46 | 47 | # Enable or disable spider middlewares 48 | # See https://doc.scrapy.org/en/latest/topics/spider-middleware.html 49 | #SPIDER_MIDDLEWARES = { 50 | # 'housespider.middlewares.HousespiderSpiderMiddleware': 543, 51 | #} 52 | 53 | # Enable or disable downloader middlewares 54 | # See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html 55 | #DOWNLOADER_MIDDLEWARES = { 56 | # 'housespider.middlewares.HousespiderDownloaderMiddleware': 543, 57 | #} 58 | 59 | # Enable or disable extensions 60 | # See https://doc.scrapy.org/en/latest/topics/extensions.html 61 | #EXTENSIONS = { 62 | # 'scrapy.extensions.telnet.TelnetConsole': None, 63 | #} 64 | 65 | # Configure item pipelines 66 | # See https://doc.scrapy.org/en/latest/topics/item-pipeline.html 67 | #ITEM_PIPELINES = { 68 | # 'housespider.pipelines.HousespiderPipeline': 300, 69 | #} 70 | 71 | # Enable and configure the AutoThrottle extension (disabled by default) 72 | # See https://doc.scrapy.org/en/latest/topics/autothrottle.html 73 | #AUTOTHROTTLE_ENABLED = True 74 | # The initial download delay 75 | #AUTOTHROTTLE_START_DELAY = 5 76 | # The maximum download delay to be set in case of high latencies 77 | #AUTOTHROTTLE_MAX_DELAY = 60 78 | # The average number of requests Scrapy should be sending in parallel to 79 | # each remote server 80 | #AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0 81 | # Enable showing throttling stats for every response received: 82 | #AUTOTHROTTLE_DEBUG = False 83 | 84 | # Enable and configure HTTP caching (disabled by default) 85 | # See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings 86 | #HTTPCACHE_ENABLED = True 87 | #HTTPCACHE_EXPIRATION_SECS = 0 88 | #HTTPCACHE_DIR = 'httpcache' 89 | #HTTPCACHE_IGNORE_HTTP_CODES = [] 90 | #HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage' 91 | -------------------------------------------------------------------------------- /housespider/housespider/middlewares.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Define here the models for your spider middleware 4 | # 5 | # See documentation in: 6 | # https://doc.scrapy.org/en/latest/topics/spider-middleware.html 7 | 8 | from scrapy import signals 9 | 10 | 11 | class HousespiderSpiderMiddleware(object): 12 | # Not all methods need to be defined. If a method is not defined, 13 | # scrapy acts as if the spider middleware does not modify the 14 | # passed objects. 15 | 16 | @classmethod 17 | def from_crawler(cls, crawler): 18 | # This method is used by Scrapy to create your spiders. 19 | s = cls() 20 | crawler.signals.connect(s.spider_opened, signal=signals.spider_opened) 21 | return s 22 | 23 | def process_spider_input(self, response, spider): 24 | # Called for each response that goes through the spider 25 | # middleware and into the spider. 26 | 27 | # Should return None or raise an exception. 28 | return None 29 | 30 | def process_spider_output(self, response, result, spider): 31 | # Called with the results returned from the Spider, after 32 | # it has processed the response. 33 | 34 | # Must return an iterable of Request, dict or Item objects. 35 | for i in result: 36 | yield i 37 | 38 | def process_spider_exception(self, response, exception, spider): 39 | # Called when a spider or process_spider_input() method 40 | # (from other spider middleware) raises an exception. 41 | 42 | # Should return either None or an iterable of Response, dict 43 | # or Item objects. 44 | pass 45 | 46 | def process_start_requests(self, start_requests, spider): 47 | # Called with the start requests of the spider, and works 48 | # similarly to the process_spider_output() method, except 49 | # that it doesn’t have a response associated. 50 | 51 | # Must return only requests (not items). 52 | for r in start_requests: 53 | yield r 54 | 55 | def spider_opened(self, spider): 56 | spider.logger.info('Spider opened: %s' % spider.name) 57 | 58 | 59 | class HousespiderDownloaderMiddleware(object): 60 | # Not all methods need to be defined. If a method is not defined, 61 | # scrapy acts as if the downloader middleware does not modify the 62 | # passed objects. 63 | 64 | @classmethod 65 | def from_crawler(cls, crawler): 66 | # This method is used by Scrapy to create your spiders. 67 | s = cls() 68 | crawler.signals.connect(s.spider_opened, signal=signals.spider_opened) 69 | return s 70 | 71 | def process_request(self, request, spider): 72 | # Called for each request that goes through the downloader 73 | # middleware. 74 | 75 | # Must either: 76 | # - return None: continue processing this request 77 | # - or return a Response object 78 | # - or return a Request object 79 | # - or raise IgnoreRequest: process_exception() methods of 80 | # installed downloader middleware will be called 81 | return None 82 | 83 | def process_response(self, request, response, spider): 84 | # Called with the response returned from the downloader. 85 | 86 | # Must either; 87 | # - return a Response object 88 | # - return a Request object 89 | # - or raise IgnoreRequest 90 | return response 91 | 92 | def process_exception(self, request, exception, spider): 93 | # Called when a download handler or a process_request() 94 | # (from other downloader middleware) raises an exception. 95 | 96 | # Must either: 97 | # - return None: continue processing this exception 98 | # - return a Response object: stops process_exception() chain 99 | # - return a Request object: stops process_exception() chain 100 | pass 101 | 102 | def spider_opened(self, spider): 103 | spider.logger.info('Spider opened: %s' % spider.name) 104 | -------------------------------------------------------------------------------- /housespider/housespider/spiders/a5i5j.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from urllib.parse import urljoin 3 | 4 | import scrapy 5 | # from housespider.items import House5i5jItem 6 | from scrapy.linkextractors import LinkExtractor 7 | from scrapy.loader import ItemLoader 8 | from scrapy.spiders import CrawlSpider, Rule 9 | 10 | 11 | class A5i5jSpider(CrawlSpider): 12 | name = '5i5j' 13 | allowed_domains = ['nj.5i5j.com'] 14 | start_urls = ['https://nj.5i5j.com/ershoufang/_%E6%97%AD%E6%97%A5%E4%B8%8A%E5%9F%8E%E4%B8%89%E6%9C%9F/'] 15 | 16 | def parse(self, response): 17 | self.logger.info('start parse %s!', response.url) 18 | self.logger.info('*' * 40) 19 | print(response.xpath('//h3[@class="listTit"]')) 20 | 21 | items = response.xpath('//h3[@class="listTit"]') 22 | for item in items: 23 | url = item.xpath('a/@href').extract_first() 24 | yield scrapy.Request(urljoin(response.url, url), callback=self.parse_item) 25 | 26 | next_page = response.xpath('//a[@class="cPage"]/@href/text()') 27 | yield scrapy.Request(urljoin(response.url, next_page), callback=self.parse) 28 | 29 | def parse_item(self, response): 30 | """ 31 | :param response: 32 | :return: 33 | """ 34 | print(response.url) 35 | from housespider.items import House5i5jItem 36 | loader = ItemLoader(item=House5i5jItem(), response=response) 37 | loader.add_xpath('title', '//h1[@class="house-tit"]/text()') 38 | loader.add_xpath('tag', '///div[@class="rent-top fl"]/p/text()') 39 | loader.add_xpath('id', '///div[@class="rent-top fl"]/p/text()', re='[0-9]+') 40 | loader.add_xpath('price', '//div[@class="jlquannei fontbaise"]//p[@class="jlinfo"]/text()') 41 | loader.add_xpath('unit_price', '//div[@class="jlyoubai fl"][1]/div/p[1]/text()') 42 | # loader.add_xpath('house_type', '//div[@class="jlyoubai fl"][2]/div/p[1]/text()') 43 | loader.add_xpath('area', '//div[@class="jlyoubai fl"][3]/div/p[1]/text()') 44 | # loader.add_xpath('community', '//div[@class="zushous"]/ul/li/a/text()') 45 | loader.add_xpath('floor', '//div[@class="zushous"]/ul/li[2]/text()') 46 | loader.add_xpath('direction', '//div[@class="zushous"]/ul/li[3]/text()') 47 | loader.add_xpath('fitment', '//div[@class="zushous"]/ul/li[4]/text()') 48 | loader.add_xpath('usage', '//div[@class="zushous"]/ul/li[5]/text()') 49 | loader.add_xpath('year', '//div[@class="zushous"]/ul/li[6]/text()') 50 | loader.add_xpath('structure', '//div[@class="zushous"]/ul/li[7]/text()') 51 | # loader.add_xpath('district', '//div[@class="zushous"]/ul/li/text()'[7]) 52 | loader.add_xpath('visit_time', '//div[@class="zushous"]/ul/li[9]/text()') 53 | loader.add_xpath('metro', '//div[@class="zushous"]/ul/li[10]/text()') 54 | loader.add_xpath('house_type', '//div[@class="infocon fl"]/ul/li[1]/span/text()') 55 | loader.add_xpath('property_right', '//div[@class="infocon fl"]/ul/li[4]/span/text()') 56 | loader.add_xpath('list_time', '//div[@class="infocon fl"]/ul/li[5]/span/text()') 57 | 58 | loader.add_xpath('community', '//a[@class="infotit"]/text()') 59 | loader.add_xpath('mean_price', '//div[@class="infomain fl"]/ul/li/label/text()', re='[0-9]+') 60 | loader.add_xpath('build_year', '//div[@class="infomain fl"]/ul/li[2]/text()') 61 | loader.add_xpath('total_houses', '//div[@class="infomain fl"]/ul/li[3]/text()') 62 | loader.add_xpath('district', '//div[@class="infomain fl"]/ul/li[4]/text()') 63 | loader.add_xpath('wuye', '//div[@class="infomain fl"]/ul/li[5]/text()') 64 | loader.add_xpath('on_sale', '//div[@class="infomain fl"]/ul/li[6]/a/text()', re='[0-9]+') 65 | loader.add_xpath('on_rent', '//div[@class="infomain fl"]/ul/li[7]/a/text()', re='[0-9]+') 66 | 67 | loader.add_value('url', response.url) 68 | 69 | yield loader.load_item() 70 | 71 | 72 | if __name__ == '__main__': 73 | from scrapy import cmdline 74 | 75 | cmdline.execute('scarpy crawl 5i5j'.split(), settings='../settings.py') 76 | -------------------------------------------------------------------------------- /housespider/housespider/spiders/ftx.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """ 3 | Created on 27/02/2018 4 | 5 | @author: 'Jiezhi.G@gmail.com' 6 | 7 | Source code: https://github.com/Jiezhi/HouseSpider 8 | 9 | Reference: 10 | """ 11 | import scrapy 12 | from scrapy.loader import ItemLoader 13 | from scrapy.loader.processors import MapCompose, Join 14 | 15 | from housespider.items import HousespiderItem, HouseDetailItem 16 | 17 | 18 | class FangSpider(scrapy.Spider): 19 | name = 'ftx' 20 | allowed_domains = ['esf.nanjing.fang.com'] 21 | 22 | # start_urls = ['http://esf.nanjing.fang.com/house/kw%cf%c9%c1%d6%d0%c2%b4%e5/'] 23 | 24 | start_urls = ['http://esf.nanjing.fang.com/house/h316/'] 25 | 26 | # def start_requests(self): 27 | # all_url = ['https://nj.lianjia.com/ershoufang/pg{}/'.format(i) for i in range(1, 100)] 28 | # for url in all_url: 29 | # print(url) 30 | # yield scrapy.Request(url, self.parse) 31 | 32 | def parse(self, response): 33 | """ 34 | This function parses page information. 35 | @url http://esf.nanjing.fang.com/house/h316/ 36 | @returns items 1 37 | @scrapes title 38 | """ 39 | self.logger.info('start parse %s!', response.url) 40 | self.logger.info('*' * 40) 41 | 42 | houses = response.css('dl.list') 43 | for fang in houses: 44 | item = HousespiderItem() 45 | item['title'] = fang.css('p.title a::text').extract_first() 46 | item['url'] = fang.css('p.title a::attr(href)').extract_first() 47 | item['info'] = fang.css('p.mt12::text').extract() 48 | item['loc'] = fang.css('p.mt10 span::text').extract_first() 49 | item['loc_url'] = fang.css('p.mt10 a::attr(href)').extract_first() 50 | item['loc_detail'] = fang.css('p.mt10 span.iconAdress::text').extract_first() 51 | item['pub_time'] = fang.css('p.gray6 span::text').extract_first() 52 | item['area'] = fang.css('div.area p::text').extract_first() 53 | item['price'] = fang.css('span.price::text').extract_first() 54 | item['unit_price'] = fang.css('p.danjia::text').extract_first() 55 | item['tags'] = fang.css('span.colorPink::text').extract() 56 | 57 | if item['url']: 58 | yield scrapy.Request('http://esf.nanjing.fang.com' + item['url'], callback=self.parse_item) 59 | # return 60 | 61 | next_page = 'http://esf.nanjing.fang.com/' + response.css('a#PageControl1_hlk_next::attr(href)').extract_first() 62 | yield scrapy.Request(next_page, callback=self.parse) 63 | 64 | def parse_item(self, response): 65 | """ 66 | 解析房子细节 67 | :param response: 68 | :return: 69 | """ 70 | l = ItemLoader(item=HouseDetailItem(), response=response) 71 | 72 | l.add_xpath('title', '//div[@class="floatl"]/text()', MapCompose(str.strip)) 73 | l.add_xpath('price', '//div[@class="trl-item price_esf sty1"]/i/text()', MapCompose(str.strip)) 74 | l.add_xpath('room', '//div[@class="tr-line clearfix"][1]/div[@class="trl-item1 w146"]/div[@class="tt"]/text()', 75 | MapCompose(str.strip)) 76 | 77 | l.add_xpath('direction', 78 | '//div[@class="tr-line clearfix"][2]/div[@class="trl-item1 w146"]/div[@class="tt"]/text()', 79 | MapCompose(str.strip)) 80 | 81 | l.add_xpath('area', 82 | '//div[@class="tr-line clearfix"][1]/div[@class="trl-item1 w182"]/div[@class="tt"]/text()', 83 | MapCompose(str.strip)) 84 | l.add_xpath('floor', 85 | '//div[@class="tr-line clearfix"][2]/div[@class="trl-item1 w182"]/div[@class="tt"]/text()', 86 | MapCompose(str.strip)) 87 | 88 | l.add_xpath('price', 89 | '//div[@class="tr-line clearfix"][1]/div[@class="trl-item1 w132"]/div[@class="tt"]/text()', 90 | MapCompose(str.strip)) 91 | l.add_xpath('fitment', 92 | '//div[@class="tr-line clearfix"][2]/div[@class="trl-item1 w132"]/div[@class="tt"]/text()', 93 | MapCompose(str.strip)) 94 | 95 | l.add_xpath('broker', '//span[@class="zf_jjname"]/a/text()', MapCompose(str.strip)) 96 | l.add_xpath('broker_url', '//span[@class="zf_jjname"]/a/@href', MapCompose(str.strip)) 97 | l.add_xpath('broker_star', '//span[@class="starOrg"]/@style', MapCompose(str.strip)) 98 | l.add_xpath('broker_company', '//div[@class="tjcont-list-cline2"]/span[2]/text()', MapCompose(str.strip)) 99 | l.add_xpath('broker_tel', '//div[contains(@class, "tjcont-list-cline3")]/span/text()', MapCompose(str.strip)) 100 | 101 | l.add_xpath('build_year', '//div[@class="cont clearfix"]/div[@class="text-item clearfix"][1]/span[2]/text()', 102 | MapCompose(str.strip)) 103 | l.add_xpath('lift', '//div[@class="cont clearfix"]/div[@class="text-item clearfix"][2]/span[2]/text()', 104 | MapCompose(str.strip)) 105 | l.add_xpath('property_right', 106 | '//div[@class="cont clearfix"]/div[@class="text-item clearfix"][3]/span[2]/text()', 107 | MapCompose(str.strip)) 108 | l.add_xpath('house_catalog', '//div[@class="cont clearfix"]/div[@class="text-item clearfix"][4]/span[2]/text()', 109 | MapCompose(str.strip)) 110 | l.add_xpath('house_structure', 111 | '//div[@class="cont clearfix"]/div[@class="text-item clearfix"][5]/span[2]/text()', 112 | MapCompose(str.strip)) 113 | l.add_xpath('house_material', 114 | '//div[@class="cont clearfix"]/div[@class="text-item clearfix"][6]/span[2]/text()', 115 | MapCompose(str.strip)) 116 | l.add_xpath('add_time', '//div[@class="cont clearfix"]/div[@class="text-item clearfix"][7]/span[2]/text()', 117 | MapCompose(str.strip)) 118 | 119 | l.add_value('url', response.url) 120 | # 暂时不考虑图片这块 121 | # >> > response.xpath('//div[@class="cont-sty1 clearfix"]/div/div/img/@data-src').extract() 122 | # ['http://cdnsfb.soufunimg.com/viewimage/1/2018_2/24/M9/16/6e606af50b8a4141a34be41c9756e9da/452x340c.jpg', 123 | # 'http://cdnsfb.soufunimg.com/viewimage/1/2018_2/24/M9/17/b328f8795d4847fe8b1b8e50244aaf1f/452x340.jpg', 124 | # 'http://cdnsfb.soufunimg.com/viewimage/1/2018_2/24/M9/16/793d9c77cb7e4832b60b64f89f71fb5a/452x340c.jpg', 125 | # 'http://cdnsfb.soufunimg.com/viewimage/1/2018_2/24/M9/17/73824c76a5b144af9aa922f9f088c475/452x340c.jpg', 126 | # 'http://cdnsfb.soufunimg.com/viewimage/1/2018_2/24/M9/17/c4f8ce2ca20947d6be9093e41649dba3/452x340c.jpg', 127 | # 'http://cdnsfb.soufunimg.com/viewimage/1/2018_2/24/M9/16/20ab2122fa4147358559452da2c40427/452x340c.jpg', 128 | # 'http://cdnsfb.soufunimg.com/viewimage/1/2018_2/24/M9/16/aeaa6a1f91b64e49b978464d6c62715e/452x340c.jpg', 129 | # 'http://cdnsfb.soufunimg.com/viewimage/1/2018_2/24/M9/17/06f58da67cd240cf880a730206c504d3/452x340c.jpg', 130 | # 'http://cdnsfb.soufunimg.com/viewimage/1/2018_2/24/M9/17/8cf96e0adcae4fb0b8afedeff6a390cc/452x340c.jpg'] 131 | 132 | yield l.load_item() 133 | 134 | 135 | if __name__ == '__main__': 136 | from scrapy import cmdline 137 | 138 | cmdline.execute('scarpy crawl 5i5j'.split()) 139 | -------------------------------------------------------------------------------- /notebook/lianjia.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "Populating the interactive namespace from numpy and matplotlib\n" 13 | ] 14 | } 15 | ], 16 | "source": [ 17 | "%pylab inline\n", 18 | "import pandas as pd\n", 19 | "import re" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 2, 25 | "metadata": {}, 26 | "outputs": [], 27 | "source": [ 28 | "plt.rcParams['font.sans-serif']=['SimHei']" 29 | ] 30 | }, 31 | { 32 | "cell_type": "code", 33 | "execution_count": 3, 34 | "metadata": {}, 35 | "outputs": [], 36 | "source": [ 37 | "df = pd.read_csv('lianjia0407.csv')" 38 | ] 39 | }, 40 | { 41 | "cell_type": "code", 42 | "execution_count": 4, 43 | "metadata": {}, 44 | "outputs": [], 45 | "source": [ 46 | "def extract_info(s, pattern):\n", 47 | " result = re.findall(pattern, s)\n", 48 | " if len(result) > 0:\n", 49 | " return result[0]\n", 50 | " else:\n", 51 | " return np.nan" 52 | ] 53 | }, 54 | { 55 | "cell_type": "code", 56 | "execution_count": 5, 57 | "metadata": {}, 58 | "outputs": [], 59 | "source": [ 60 | "df['unitPrice'] = df.apply(lambda row: extract_info(row['houseUnitPrice'], pattern=r'\\d+'), axis=1)\n", 61 | "df['halls'] = df.apply(lambda row: extract_info(row['houseInfo'], pattern=r'\\d(?=厅)'), axis=1)\n", 62 | "df['areas'] = df.apply(lambda row: extract_info(row['houseInfo'], pattern=r'(\\d+\\.\\d+|\\d+)(?=平米)'), axis=1)\n", 63 | "df['followers'] = df.apply(lambda row: extract_info(row['houseFollowInfo'], pattern=r'\\d+(?=人关注)'), axis=1)\n", 64 | "df['rooms'] = df.apply(lambda row: extract_info(row['houseInfo'], pattern=r'\\d(?=室)'), axis=1)" 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": 6, 70 | "metadata": {}, 71 | "outputs": [ 72 | { 73 | "data": { 74 | "text/plain": [ 75 | "Index(['title', 'houseLoc', 'houseInfo', 'housePosition', 'housePositionInfo',\n", 76 | " 'houseFollowInfo', 'houseSubway', 'houseTaxfree', 'houseHaskey',\n", 77 | " 'houseTotalPrice', 'housePriceUnit', 'houseUnitPrice', 'houseUrl',\n", 78 | " 'unitPrice', 'halls', 'areas', 'followers', 'rooms'],\n", 79 | " dtype='object')" 80 | ] 81 | }, 82 | "execution_count": 6, 83 | "metadata": {}, 84 | "output_type": "execute_result" 85 | } 86 | ], 87 | "source": [ 88 | "df.columns" 89 | ] 90 | }, 91 | { 92 | "cell_type": "code", 93 | "execution_count": 7, 94 | "metadata": {}, 95 | "outputs": [], 96 | "source": [ 97 | "df2 = df.reindex(columns=['title', 'houseLoc', 'unitPrice', 'areas', 'houseTotalPrice', 'housePriceUnit', \n", 98 | " 'houseInfo', 'housePosition', 'housePositionInfo' ,\n", 99 | " 'rooms', 'halls', 'followers',\n", 100 | " 'houseFollowInfo', 'houseSubway', 'houseTaxfree', 'houseHaskey',\n", 101 | " 'houseUnitPrice', 'houseUrl'])" 102 | ] 103 | }, 104 | { 105 | "cell_type": "code", 106 | "execution_count": 8, 107 | "metadata": {}, 108 | "outputs": [], 109 | "source": [ 110 | "df2.to_excel('lianjia.xlsx')" 111 | ] 112 | }, 113 | { 114 | "cell_type": "code", 115 | "execution_count": 9, 116 | "metadata": {}, 117 | "outputs": [], 118 | "source": [ 119 | "df2.drop('title', axis=1, inplace=True)" 120 | ] 121 | }, 122 | { 123 | "cell_type": "code", 124 | "execution_count": 23, 125 | "metadata": {}, 126 | "outputs": [ 127 | { 128 | "data": { 129 | "text/plain": [ 130 | "Index(['houseLoc', 'unitPrice', 'areas', 'houseTotalPrice', 'housePriceUnit',\n", 131 | " 'houseInfo', 'housePosition', 'housePositionInfo', 'rooms', 'halls',\n", 132 | " 'followers', 'houseFollowInfo', 'houseSubway', 'houseTaxfree',\n", 133 | " 'houseHaskey', 'houseUnitPrice', 'houseUrl'],\n", 134 | " dtype='object')" 135 | ] 136 | }, 137 | "execution_count": 23, 138 | "metadata": {}, 139 | "output_type": "execute_result" 140 | } 141 | ], 142 | "source": [ 143 | "df2.columns" 144 | ] 145 | }, 146 | { 147 | "cell_type": "code", 148 | "execution_count": 30, 149 | "metadata": {}, 150 | "outputs": [ 151 | { 152 | "data": { 153 | "text/plain": [ 154 | "威尼斯水城第十五街区 10\n", 155 | "江岸水城 8\n", 156 | "东郊小镇第三街区 7\n", 157 | "天润城第十街区 7\n", 158 | "天润城第十四街区 7\n", 159 | "威尼斯水城第十街区 7\n", 160 | "天华硅谷 6\n", 161 | "天润城第十六街区南区 6\n", 162 | "万科金色半山 5\n", 163 | "威尼斯水城第十四街区 5\n", 164 | "天华绿谷庄园 5\n", 165 | "天润城第十二街区 5\n", 166 | "威尼斯水城第六街区 5\n", 167 | "翰香苑 5\n", 168 | "威尼斯水城第五街区 5\n", 169 | "威尼斯水城第十一街区 5\n", 170 | "美麟香漫山 4\n", 171 | "天润城第十一街区 4\n", 172 | "银城蓝溪郡 4\n", 173 | "东郊小镇第二街区 4\n", 174 | "天润城第十六街区北区 4\n", 175 | "盛和家园 4\n", 176 | "金地自在城第二街区 3\n", 177 | "合家春天 3\n", 178 | "宋都南郡国际北区 3\n", 179 | "威尼斯水城第十二街区 3\n", 180 | "幸福美地花园 3\n", 181 | "万裕龙庭水岸 3\n", 182 | "南湾营融康苑 3\n", 183 | "银亿东城第十二街区 3\n", 184 | " ..\n", 185 | "招商1872 1\n", 186 | "华侨绿洲 1\n", 187 | "阳光之旅 1\n", 188 | "杜鹃园 1\n", 189 | "建宁路 1\n", 190 | "大华锦绣华城乐美颂 1\n", 191 | "环宇家园 1\n", 192 | "幕府一村 1\n", 193 | "威尼斯水城第九街区 1\n", 194 | "旭日爱上城第四区北区 1\n", 195 | "长虹新寓 1\n", 196 | "钱塘望景花园 1\n", 197 | "明发云庭 1\n", 198 | "雨花新村四村 1\n", 199 | "爱达花园兰花园 1\n", 200 | "凤凰花园 1\n", 201 | "招商兰溪谷 1\n", 202 | "鼎业花苑 1\n", 203 | "南方花园枫彩园 1\n", 204 | "大华锦绣华城桂美颂 1\n", 205 | "花港幸福城玫瑰园 1\n", 206 | "太平花苑南区 1\n", 207 | "利星公寓 1\n", 208 | "力标赞城 1\n", 209 | "定淮门2号 1\n", 210 | "钓鱼台 1\n", 211 | "双乐园小区 1\n", 212 | "建宁路143号 1\n", 213 | "盛和家园南区 1\n", 214 | "启迪方洲慧园 1\n", 215 | "Name: houseLoc, Length: 242, dtype: int64" 216 | ] 217 | }, 218 | "execution_count": 30, 219 | "metadata": {}, 220 | "output_type": "execute_result" 221 | } 222 | ], 223 | "source": [ 224 | "df2[(df2.houseTotalPrice <= 220) & (df2.houseTotalPrice > 160) & (df2.areas.astype(float) > 70)]['houseLoc'].value_counts()" 225 | ] 226 | }, 227 | { 228 | "cell_type": "code", 229 | "execution_count": 12, 230 | "metadata": {}, 231 | "outputs": [ 232 | { 233 | "data": { 234 | "text/html": [ 235 | "
\n", 236 | "\n", 249 | "\n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | "
houseTotalPrice
count3029.000000
mean293.295213
std178.295399
min12.000000
25%185.000000
50%248.000000
75%349.800000
max2700.000000
\n", 291 | "
" 292 | ], 293 | "text/plain": [ 294 | " houseTotalPrice\n", 295 | "count 3029.000000\n", 296 | "mean 293.295213\n", 297 | "std 178.295399\n", 298 | "min 12.000000\n", 299 | "25% 185.000000\n", 300 | "50% 248.000000\n", 301 | "75% 349.800000\n", 302 | "max 2700.000000" 303 | ] 304 | }, 305 | "execution_count": 12, 306 | "metadata": {}, 307 | "output_type": "execute_result" 308 | } 309 | ], 310 | "source": [ 311 | "df2.describe()" 312 | ] 313 | }, 314 | { 315 | "cell_type": "code", 316 | "execution_count": 13, 317 | "metadata": {}, 318 | "outputs": [ 319 | { 320 | "data": { 321 | "text/html": [ 322 | "
\n", 323 | "\n", 336 | "\n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | " \n", 491 | " \n", 492 | " \n", 493 | " \n", 494 | " \n", 495 | " \n", 496 | " \n", 497 | " \n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | " \n", 502 | " \n", 503 | " \n", 504 | " \n", 505 | " \n", 506 | " \n", 507 | " \n", 508 | " \n", 509 | " \n", 510 | " \n", 511 | " \n", 512 | " \n", 513 | " \n", 514 | " \n", 515 | " \n", 516 | " \n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | "
houseLocunitPriceareashouseTotalPricehousePositionInfohouseUrl
106诚品城2807699.02278.0仙林https://nj.lianjia.com/ershoufang/103102286517...
193诚品城2934198.84290.0仙林https://nj.lianjia.com/ershoufang/103102283643...
2476保利罗兰春天3021295.99290.0仙林https://nj.lianjia.com/ershoufang/103102244929...
2675鸿运嘉园3052795290.0仙林https://nj.lianjia.com/ershoufang/103102241516...
2901保利罗兰春天3118393290.0仙林https://nj.lianjia.com/ershoufang/103102237377...
1280诚品城2783991.6255.0仙林https://nj.lianjia.com/ershoufang/103102262775...
344诚品城2592290.66235.0仙林https://nj.lianjia.com/ershoufang/103102279944...
52诚品城2745590.33248.0仙林https://nj.lianjia.com/ershoufang/103102287834...
2049诚品城2888990260.0仙林https://nj.lianjia.com/ershoufang/103102251493...
8万科金色领域3323089.68298.0仙林https://nj.lianjia.com/ershoufang/103102289892...
391南京师范大学茶苑3228983.62270.0仙林https://nj.lianjia.com/ershoufang/103102278974...
2080东方天郡西区3666379.1290.0仙林https://nj.lianjia.com/ershoufang/103102251070...
1456亚东城西区3405478.7268.0仙林https://nj.lianjia.com/ershoufang/103102259665...
869仙林新村3260969225.0仙林https://nj.lianjia.com/ershoufang/103102270684...
14亚东城西区3721761.8230.0仙林https://nj.lianjia.com/ershoufang/103102289128...
2812亚东城西区3815451.11195.0仙林https://nj.lianjia.com/ershoufang/103102238977...
1294赛世香樟园2870148.78140.0仙林https://nj.lianjia.com/ershoufang/103102262428...
2839仙林新村3703837.8140.0仙林https://nj.lianjia.com/ershoufang/103102238558...
1005仙鹤山庄4419231.68140.0仙林https://nj.lianjia.com/ershoufang/103102268377...
2784雁鸣山庄3099630.6595.0仙林https://nj.lianjia.com/ershoufang/103102239380...
\n", 531 | "
" 532 | ], 533 | "text/plain": [ 534 | " houseLoc unitPrice areas houseTotalPrice housePositionInfo \\\n", 535 | "106 诚品城 28076 99.02 278.0 仙林 \n", 536 | "193 诚品城 29341 98.84 290.0 仙林 \n", 537 | "2476 保利罗兰春天 30212 95.99 290.0 仙林 \n", 538 | "2675 鸿运嘉园 30527 95 290.0 仙林 \n", 539 | "2901 保利罗兰春天 31183 93 290.0 仙林 \n", 540 | "1280 诚品城 27839 91.6 255.0 仙林 \n", 541 | "344 诚品城 25922 90.66 235.0 仙林 \n", 542 | "52 诚品城 27455 90.33 248.0 仙林 \n", 543 | "2049 诚品城 28889 90 260.0 仙林 \n", 544 | "8 万科金色领域 33230 89.68 298.0 仙林 \n", 545 | "391 南京师范大学茶苑 32289 83.62 270.0 仙林 \n", 546 | "2080 东方天郡西区 36663 79.1 290.0 仙林 \n", 547 | "1456 亚东城西区 34054 78.7 268.0 仙林 \n", 548 | "869 仙林新村 32609 69 225.0 仙林 \n", 549 | "14 亚东城西区 37217 61.8 230.0 仙林 \n", 550 | "2812 亚东城西区 38154 51.11 195.0 仙林 \n", 551 | "1294 赛世香樟园 28701 48.78 140.0 仙林 \n", 552 | "2839 仙林新村 37038 37.8 140.0 仙林 \n", 553 | "1005 仙鹤山庄 44192 31.68 140.0 仙林 \n", 554 | "2784 雁鸣山庄 30996 30.65 95.0 仙林 \n", 555 | "\n", 556 | " houseUrl \n", 557 | "106 https://nj.lianjia.com/ershoufang/103102286517... \n", 558 | "193 https://nj.lianjia.com/ershoufang/103102283643... \n", 559 | "2476 https://nj.lianjia.com/ershoufang/103102244929... \n", 560 | "2675 https://nj.lianjia.com/ershoufang/103102241516... \n", 561 | "2901 https://nj.lianjia.com/ershoufang/103102237377... \n", 562 | "1280 https://nj.lianjia.com/ershoufang/103102262775... \n", 563 | "344 https://nj.lianjia.com/ershoufang/103102279944... \n", 564 | "52 https://nj.lianjia.com/ershoufang/103102287834... \n", 565 | "2049 https://nj.lianjia.com/ershoufang/103102251493... \n", 566 | "8 https://nj.lianjia.com/ershoufang/103102289892... \n", 567 | "391 https://nj.lianjia.com/ershoufang/103102278974... \n", 568 | "2080 https://nj.lianjia.com/ershoufang/103102251070... \n", 569 | "1456 https://nj.lianjia.com/ershoufang/103102259665... \n", 570 | "869 https://nj.lianjia.com/ershoufang/103102270684... \n", 571 | "14 https://nj.lianjia.com/ershoufang/103102289128... \n", 572 | "2812 https://nj.lianjia.com/ershoufang/103102238977... \n", 573 | "1294 https://nj.lianjia.com/ershoufang/103102262428... \n", 574 | "2839 https://nj.lianjia.com/ershoufang/103102238558... \n", 575 | "1005 https://nj.lianjia.com/ershoufang/103102268377... \n", 576 | "2784 https://nj.lianjia.com/ershoufang/103102239380... " 577 | ] 578 | }, 579 | "execution_count": 13, 580 | "metadata": {}, 581 | "output_type": "execute_result" 582 | } 583 | ], 584 | "source": [ 585 | "df2.loc[(df2.houseTotalPrice < 300) & (df2.housePositionInfo == '仙林'), ('houseLoc', 'unitPrice', 'areas',\n", 586 | " 'houseTotalPrice', 'housePositionInfo',\n", 587 | " 'houseUrl')].sort_values(by='areas', ascending=False)" 588 | ] 589 | }, 590 | { 591 | "cell_type": "code", 592 | "execution_count": 14, 593 | "metadata": {}, 594 | "outputs": [ 595 | { 596 | "data": { 597 | "text/plain": [ 598 | "housePositionInfo\n", 599 | "桥北 272\n", 600 | "东山镇 222\n", 601 | "麒麟镇 125\n", 602 | "百家湖 111\n", 603 | "岔路口 101\n", 604 | "江浦街道 92\n", 605 | "奥体 90\n", 606 | "龙江 78\n", 607 | "将军大道 78\n", 608 | "仙林 74\n", 609 | "月牙湖 73\n", 610 | "江宁大学城 65\n", 611 | "马群 65\n", 612 | "九龙湖 57\n", 613 | "洪家园 54\n", 614 | "秦虹 52\n", 615 | "迈皋桥 51\n", 616 | "瑞金路 49\n", 617 | "凤凰西街 47\n", 618 | "定淮门大街 43\n", 619 | "湖南路 40\n", 620 | "南湖 37\n", 621 | "新街口 37\n", 622 | "铁心桥 36\n", 623 | "应天西路 36\n", 624 | "大光路 35\n", 625 | "南苑 34\n", 626 | "红山 32\n", 627 | "五老村 31\n", 628 | "科学园 30\n", 629 | " ... \n", 630 | "长江路 17\n", 631 | "月苑 17\n", 632 | "草场门大街 17\n", 633 | "樱驼花园 17\n", 634 | "珠江路 16\n", 635 | "卫岗 16\n", 636 | "孝陵卫 15\n", 637 | "兴隆大街 13\n", 638 | "许府巷 12\n", 639 | "湖西街 12\n", 640 | "雨花新村 12\n", 641 | "后宰门 11\n", 642 | "仙鹤门 11\n", 643 | "建康路 11\n", 644 | "挹江门 10\n", 645 | "长乐路 9\n", 646 | "万寿 9\n", 647 | "江宁其它 9\n", 648 | "安德门 8\n", 649 | "常府街 8\n", 650 | "顶山街道 8\n", 651 | "水佐岗 8\n", 652 | "江东 6\n", 653 | "夫子庙 5\n", 654 | "玄武门 5\n", 655 | "北京东路 4\n", 656 | "高新区 2\n", 657 | "燕子矶 1\n", 658 | "江心洲 1\n", 659 | "栖霞其它 1\n", 660 | "Length: 86, dtype: int64" 661 | ] 662 | }, 663 | "execution_count": 14, 664 | "metadata": {}, 665 | "output_type": "execute_result" 666 | } 667 | ], 668 | "source": [ 669 | "df2.groupby('housePositionInfo').size().sort_values(ascending=False)" 670 | ] 671 | }, 672 | { 673 | "cell_type": "code", 674 | "execution_count": 15, 675 | "metadata": {}, 676 | "outputs": [ 677 | { 678 | "data": { 679 | "text/html": [ 680 | "
\n", 681 | "\n", 694 | "\n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | "
houseTotalPrice
houseTotalPrice1.0
\n", 708 | "
" 709 | ], 710 | "text/plain": [ 711 | " houseTotalPrice\n", 712 | "houseTotalPrice 1.0" 713 | ] 714 | }, 715 | "execution_count": 15, 716 | "metadata": {}, 717 | "output_type": "execute_result" 718 | } 719 | ], 720 | "source": [ 721 | "df.corr()" 722 | ] 723 | }, 724 | { 725 | "cell_type": "code", 726 | "execution_count": null, 727 | "metadata": {}, 728 | "outputs": [], 729 | "source": [] 730 | } 731 | ], 732 | "metadata": { 733 | "kernelspec": { 734 | "display_name": "Python 3", 735 | "language": "python", 736 | "name": "python3" 737 | }, 738 | "language_info": { 739 | "codemirror_mode": { 740 | "name": "ipython", 741 | "version": 3 742 | }, 743 | "file_extension": ".py", 744 | "mimetype": "text/x-python", 745 | "name": "python", 746 | "nbconvert_exporter": "python", 747 | "pygments_lexer": "ipython3", 748 | "version": "3.6.4" 749 | } 750 | }, 751 | "nbformat": 4, 752 | "nbformat_minor": 2 753 | } 754 | -------------------------------------------------------------------------------- /notebook/ftx.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "Populating the interactive namespace from numpy and matplotlib\n" 13 | ] 14 | } 15 | ], 16 | "source": [ 17 | "%pylab inline\n", 18 | "import pandas as pd\n", 19 | "import re\n", 20 | "plt.rcParams['font.sans-serif']=['SimHei']" 21 | ] 22 | }, 23 | { 24 | "cell_type": "code", 25 | "execution_count": 2, 26 | "metadata": { 27 | "collapsed": true 28 | }, 29 | "outputs": [], 30 | "source": [ 31 | "df = pd.read_csv('../result/ftx0307.csv')" 32 | ] 33 | }, 34 | { 35 | "cell_type": "code", 36 | "execution_count": 3, 37 | "metadata": {}, 38 | "outputs": [ 39 | { 40 | "data": { 41 | "text/plain": [ 42 | "Index(['add_time', 'area', 'broker', 'broker_company', 'broker_star',\n", 43 | " 'broker_tel', 'broker_url', 'build_year', 'direction', 'fitment',\n", 44 | " 'floor', 'house_catalog', 'house_material', 'house_structure', 'lift',\n", 45 | " 'price', 'property_right', 'room', 'title', 'url'],\n", 46 | " dtype='object')" 47 | ] 48 | }, 49 | "execution_count": 3, 50 | "metadata": {}, 51 | "output_type": "execute_result" 52 | } 53 | ], 54 | "source": [ 55 | "df.columns" 56 | ] 57 | }, 58 | { 59 | "cell_type": "code", 60 | "execution_count": 4, 61 | "metadata": { 62 | "collapsed": true 63 | }, 64 | "outputs": [], 65 | "source": [ 66 | "def extract_info(s, pattern):\n", 67 | " result = re.findall(pattern, s)\n", 68 | " if len(result) > 0:\n", 69 | " return result[0]\n", 70 | " else:\n", 71 | " return np.nan\n", 72 | " \n", 73 | "def split_house_info(s):\n", 74 | " infos = s.split(',')\n", 75 | " result = '|'\n", 76 | " for info in infos:\n", 77 | " result = result + info.strip() + '|'\n", 78 | " return result" 79 | ] 80 | }, 81 | { 82 | "cell_type": "code", 83 | "execution_count": 5, 84 | "metadata": {}, 85 | "outputs": [ 86 | { 87 | "data": { 88 | "text/html": [ 89 | "
\n", 90 | "\n", 103 | "\n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | "
add_timeareabrokerbroker_companybroker_starbroker_telbroker_urlbuild_yeardirectionfitmentfloorhouse_cataloghouse_materialhouse_structureliftpriceproperty_rightroomtitleurl
02018-03-0745平米朱鹏飞利众置业评事街店width:28.00%15195843282/a/891029zhu2016年精装修中层公寓板楼平层90,20000元/平米商品房1室1厅1卫急保利梧桐语5米2层高挑高2层精装修不不限贷送一层,http://esf.nanjing.fang.com/chushou/3_16621267...
12018-03-07120平米朱梅展鹏房产width:52.00%15952091567/a/zpfc112017年暂无精装修中层普通住宅板楼平层180,15000元/平米个人产权3室2厅1卫凤滨嘉园3室2厅2卫118.36平米精装产权房2012年建,http://esf.nanjing.fang.com/chushou/3_16621267...
22018-03-0790平米姜宇清宏创房产width:26.00%15195936915/a/yq151959369152017年南北毛坯中层普通住宅板楼平层116,12889元/平米个人产权3室1厅1卫花语城 房源 正常首付加公积金贷款 总价低,http://esf.nanjing.fang.com/chushou/3_16621267...
32018-03-0779.74平米雷晓涛利众置业width:52.00%15651768893/a/xiaotao331152005年简装修高层普通住宅板楼平层195,24454元/平米商品房3室1厅1卫翠屏湾花园城 南北向 居家装修 家电 口,http://esf.nanjing.fang.com/chushou/3_16621268...
42018-03-07177.52平米雷晓涛利众置业width:52.00%15651768893/a/xiaotao331152009年毛坯低层普通住宅板楼平层435,24504元/平米商品房4室2厅1卫万科物业 毛坯大平层 户型方正 环境安静 口 将军山,http://esf.nanjing.fang.com/chushou/3_16621267...
\n", 247 | "
" 248 | ], 249 | "text/plain": [ 250 | " add_time area broker broker_company broker_star broker_tel \\\n", 251 | "0 2018-03-07 45平米 朱鹏飞 利众置业评事街店 width:28.00% 15195843282 \n", 252 | "1 2018-03-07 120平米 朱梅 展鹏房产 width:52.00% 15952091567 \n", 253 | "2 2018-03-07 90平米 姜宇清 宏创房产 width:26.00% 15195936915 \n", 254 | "3 2018-03-07 79.74平米 雷晓涛 利众置业 width:52.00% 15651768893 \n", 255 | "4 2018-03-07 177.52平米 雷晓涛 利众置业 width:52.00% 15651768893 \n", 256 | "\n", 257 | " broker_url build_year direction fitment floor house_catalog \\\n", 258 | "0 /a/891029zhu 2016年 南 精装修 中层 公寓 \n", 259 | "1 /a/zpfc11 2017年 暂无 精装修 中层 普通住宅 \n", 260 | "2 /a/yq15195936915 2017年 南北 毛坯 中层 普通住宅 \n", 261 | "3 /a/xiaotao33115 2005年 南 简装修 高层 普通住宅 \n", 262 | "4 /a/xiaotao33115 2009年 北 毛坯 低层 普通住宅 \n", 263 | "\n", 264 | " house_material house_structure lift price property_right room \\\n", 265 | "0 板楼 平层 有 90,20000元/平米 商品房 1室1厅1卫 \n", 266 | "1 板楼 平层 无 180,15000元/平米 个人产权 3室2厅1卫 \n", 267 | "2 板楼 平层 无 116,12889元/平米 个人产权 3室1厅1卫 \n", 268 | "3 板楼 平层 无 195,24454元/平米 商品房 3室1厅1卫 \n", 269 | "4 板楼 平层 无 435,24504元/平米 商品房 4室2厅1卫 \n", 270 | "\n", 271 | " title \\\n", 272 | "0 急保利梧桐语5米2层高挑高2层精装修不不限贷送一层, \n", 273 | "1 凤滨嘉园3室2厅2卫118.36平米精装产权房2012年建, \n", 274 | "2 花语城 房源 正常首付加公积金贷款 总价低, \n", 275 | "3 翠屏湾花园城 南北向 居家装修 家电 口, \n", 276 | "4 万科物业 毛坯大平层 户型方正 环境安静 口 将军山, \n", 277 | "\n", 278 | " url \n", 279 | "0 http://esf.nanjing.fang.com/chushou/3_16621267... \n", 280 | "1 http://esf.nanjing.fang.com/chushou/3_16621267... \n", 281 | "2 http://esf.nanjing.fang.com/chushou/3_16621267... \n", 282 | "3 http://esf.nanjing.fang.com/chushou/3_16621268... \n", 283 | "4 http://esf.nanjing.fang.com/chushou/3_16621267... " 284 | ] 285 | }, 286 | "execution_count": 5, 287 | "metadata": {}, 288 | "output_type": "execute_result" 289 | } 290 | ], 291 | "source": [ 292 | "df.head()" 293 | ] 294 | }, 295 | { 296 | "cell_type": "code", 297 | "execution_count": 6, 298 | "metadata": { 299 | "collapsed": true 300 | }, 301 | "outputs": [], 302 | "source": [ 303 | "df['area'] = df.apply(lambda row: extract_info(row['area'], r'\\d+(?=平米)'), axis=1).astype(int, errors='ignore')" 304 | ] 305 | }, 306 | { 307 | "cell_type": "code", 308 | "execution_count": 7, 309 | "metadata": { 310 | "collapsed": true 311 | }, 312 | "outputs": [], 313 | "source": [ 314 | "df['broker_star'].fillna('', inplace=True)\n", 315 | "df['broker_star'] = df.apply(lambda row: extract_info(row['broker_star'], r'\\d+'), axis=1).astype(float)" 316 | ] 317 | }, 318 | { 319 | "cell_type": "code", 320 | "execution_count": 8, 321 | "metadata": { 322 | "collapsed": true 323 | }, 324 | "outputs": [], 325 | "source": [ 326 | "df['build_year'].fillna(1000, inplace=True)\n", 327 | "df['build_year'] = df.apply(lambda row: extract_info(row['build_year'], r'\\d+'), axis=1).astype(int, errors='ignore')" 328 | ] 329 | }, 330 | { 331 | "cell_type": "code", 332 | "execution_count": 9, 333 | "metadata": { 334 | "collapsed": true 335 | }, 336 | "outputs": [], 337 | "source": [ 338 | "# df['price'] = df.apply(lambda row: extract_info(row['price'], r'\\d+,d+(?=元)'), axis=1).astype(float)" 339 | ] 340 | }, 341 | { 342 | "cell_type": "code", 343 | "execution_count": 10, 344 | "metadata": { 345 | "collapsed": true 346 | }, 347 | "outputs": [], 348 | "source": [ 349 | "df.to_excel('ftx0307.xlsx')" 350 | ] 351 | }, 352 | { 353 | "cell_type": "code", 354 | "execution_count": 12, 355 | "metadata": {}, 356 | "outputs": [ 357 | { 358 | "data": { 359 | "text/plain": [ 360 | "broker_company\n", 361 | "爱如山房产 274\n", 362 | "Q房网 225\n", 363 | "利众置业评事街店 156\n", 364 | "我爱我家 153\n", 365 | "宏创房产 121\n", 366 | "王祥房产 120\n", 367 | "21世纪不动产 88\n", 368 | "嘉航房地产 77\n", 369 | "汇好置业 74\n", 370 | "亿丰房产 73\n", 371 | "华府房产 68\n", 372 | "链家地产 67\n", 373 | "房天下 66\n", 374 | "高业房产 64\n", 375 | "21世纪 58\n", 376 | "顺鼎房产 51\n", 377 | "燕家房产 49\n", 378 | "南京荟盛行房产经纪有限公... 48\n", 379 | "利众置业 46\n", 380 | "好旺角房地产 39\n", 381 | "鼎飞房产 38\n", 382 | "安格家 36\n", 383 | "九家房产 35\n", 384 | "新城房地产 32\n", 385 | "存房房地产 26\n", 386 | "中环地产 25\n", 387 | "新房代理 25\n", 388 | "友达置业 24\n", 389 | "南京居巢地产 23\n", 390 | "仟佰间房产 23\n", 391 | " ... \n", 392 | "巨为地产 2\n", 393 | "泽来置业 1\n", 394 | "蜂巢置业 1\n", 395 | "享好家房产 1\n", 396 | "鸿科置业 1\n", 397 | "顺鼎 1\n", 398 | "致远房产 1\n", 399 | "21世纪千诺房产 1\n", 400 | "麦子置业 1\n", 401 | "众达房产 1\n", 402 | "翔禾房产 1\n", 403 | "易荣房产 1\n", 404 | "江宁天轩红 1\n", 405 | "创造家置业 1\n", 406 | "南京驰介房产有限公司 1\n", 407 | "大城小家 1\n", 408 | "宇财房产 1\n", 409 | "安居客投资管理有限公司 1\n", 410 | "尧坤房产 1\n", 411 | "南京好屋源房产 1\n", 412 | "南京嘉杰房地产经纪有限公 1\n", 413 | "南京亚东置业有限公司 1\n", 414 | "诺爱房产 1\n", 415 | "房天下投资管理有限公司 1\n", 416 | "房管家 1\n", 417 | "锦盛置业 1\n", 418 | "明涛地产 1\n", 419 | "力天房产 1\n", 420 | "江城房产 1\n", 421 | "尚品地产 1\n", 422 | "Length: 160, dtype: int64" 423 | ] 424 | }, 425 | "execution_count": 12, 426 | "metadata": {}, 427 | "output_type": "execute_result" 428 | } 429 | ], 430 | "source": [ 431 | "df.groupby('broker_company').size().sort_values(ascending=False)" 432 | ] 433 | }, 434 | { 435 | "cell_type": "code", 436 | "execution_count": 4, 437 | "metadata": { 438 | "collapsed": true 439 | }, 440 | "outputs": [], 441 | "source": [ 442 | "df['info'].fillna('', inplace=True)\n", 443 | "df['info'] = df['info'].apply(split_house_info)" 444 | ] 445 | }, 446 | { 447 | "cell_type": "code", 448 | "execution_count": 5, 449 | "metadata": { 450 | "collapsed": true, 451 | "scrolled": true 452 | }, 453 | "outputs": [], 454 | "source": [ 455 | "df['area'].fillna('', inplace=True)\n", 456 | "df['unit_price'].fillna('', inplace=True)\n", 457 | "df['area'] = df.apply(lambda row: extract_info(row['area'], r'\\d+(?=㎡)'), axis=1).astype(int, errors='ignore')\n", 458 | "df['unit_price'] = df.apply(lambda row: extract_info(row['unit_price'], r'\\d+(?=元)'), axis=1).astype(int, errors='ignore')" 459 | ] 460 | }, 461 | { 462 | "cell_type": "code", 463 | "execution_count": 6, 464 | "metadata": { 465 | "collapsed": true 466 | }, 467 | "outputs": [], 468 | "source": [ 469 | "df['rooms'] = df.apply(lambda row: extract_info(row['info'], r'\\d(?=室)'), axis=1).astype(float)\n", 470 | "df['halls'] = df.apply(lambda row: extract_info(row['info'], r'\\d(?=厅)'), axis=1).astype(float)\n", 471 | "df['years'] = df.apply(lambda row: extract_info(row['info'], r'建筑年代:(\\d+)'), axis=1).astype(int, errors='ignore')" 472 | ] 473 | }, 474 | { 475 | "cell_type": "code", 476 | "execution_count": 7, 477 | "metadata": { 478 | "collapsed": true 479 | }, 480 | "outputs": [], 481 | "source": [ 482 | "df['url'] = 'http://esf.nanjing.fang.com' + df['url']\n", 483 | "df['loc_url'] = 'http://esf.nanjing.fang.com' + df['loc_url']" 484 | ] 485 | }, 486 | { 487 | "cell_type": "code", 488 | "execution_count": 8, 489 | "metadata": { 490 | "collapsed": true 491 | }, 492 | "outputs": [], 493 | "source": [ 494 | "df2 = df.reindex(columns=['area', 'price', 'unit_price', 'rooms', 'halls', 'years',\n", 495 | " 'loc', 'loc_detail', 'title', 'url', 'info', 'loc_url', 'pub_time',\n", 496 | " 'tags'])" 497 | ] 498 | }, 499 | { 500 | "cell_type": "markdown", 501 | "metadata": {}, 502 | "source": [ 503 | "## 把提取过的信息保存到excel" 504 | ] 505 | }, 506 | { 507 | "cell_type": "code", 508 | "execution_count": 9, 509 | "metadata": { 510 | "collapsed": true 511 | }, 512 | "outputs": [], 513 | "source": [ 514 | "df2.to_excel('xlxc.xlsx')" 515 | ] 516 | }, 517 | { 518 | "cell_type": "code", 519 | "execution_count": 14, 520 | "metadata": {}, 521 | "outputs": [ 522 | { 523 | "data": { 524 | "text/html": [ 525 | "
\n", 526 | "\n", 539 | "\n", 540 | " \n", 541 | " \n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | " \n", 577 | " \n", 578 | " \n", 579 | " \n", 580 | " \n", 581 | " \n", 582 | " \n", 583 | " \n", 584 | " \n", 585 | " \n", 586 | " \n", 587 | " \n", 588 | " \n", 589 | " \n", 590 | " \n", 591 | " \n", 592 | " \n", 593 | " \n", 594 | " \n", 595 | " \n", 596 | " \n", 597 | " \n", 598 | " \n", 599 | " \n", 600 | " \n", 601 | " \n", 602 | " \n", 603 | " \n", 604 | " \n", 605 | " \n", 606 | " \n", 607 | " \n", 608 | " \n", 609 | " \n", 610 | " \n", 611 | " \n", 612 | " \n", 613 | " \n", 614 | " \n", 615 | " \n", 616 | " \n", 617 | " \n", 618 | " \n", 619 | " \n", 620 | " \n", 621 | " \n", 622 | " \n", 623 | " \n", 624 | " \n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | " \n", 730 | " \n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | " \n", 739 | " \n", 740 | " \n", 741 | " \n", 742 | " \n", 743 | " \n", 744 | " \n", 745 | " \n", 746 | " \n", 747 | " \n", 748 | " \n", 749 | " \n", 750 | " \n", 751 | " \n", 752 | " \n", 753 | " \n", 754 | " \n", 755 | " \n", 756 | " \n", 757 | " \n", 758 | " \n", 759 | " \n", 760 | " \n", 761 | " \n", 762 | " \n", 763 | " \n", 764 | " \n", 765 | " \n", 766 | " \n", 767 | " \n", 768 | " \n", 769 | " \n", 770 | " \n", 771 | " \n", 772 | " \n", 773 | " \n", 774 | " \n", 775 | " \n", 776 | " \n", 777 | " \n", 778 | " \n", 779 | " \n", 780 | " \n", 781 | " \n", 782 | " \n", 783 | " \n", 784 | " \n", 785 | " \n", 786 | " \n", 787 | " \n", 788 | " \n", 789 | " \n", 790 | " \n", 791 | " \n", 792 | " \n", 793 | " \n", 794 | " \n", 795 | " \n", 796 | " \n", 797 | " \n", 798 | " \n", 799 | " \n", 800 | " \n", 801 | " \n", 802 | " \n", 803 | " \n", 804 | " \n", 805 | " \n", 806 | " \n", 807 | " \n", 808 | " \n", 809 | " \n", 810 | " \n", 811 | " \n", 812 | " \n", 813 | " \n", 814 | " \n", 815 | " \n", 816 | " \n", 817 | " \n", 818 | " \n", 819 | " \n", 820 | " \n", 821 | " \n", 822 | " \n", 823 | " \n", 824 | " \n", 825 | " \n", 826 | " \n", 827 | " \n", 828 | " \n", 829 | " \n", 830 | " \n", 831 | " \n", 832 | " \n", 833 | " \n", 834 | " \n", 835 | " \n", 836 | " \n", 837 | " \n", 838 | " \n", 839 | " \n", 840 | " \n", 841 | " \n", 842 | " \n", 843 | " \n", 844 | " \n", 845 | " \n", 846 | " \n", 847 | " \n", 848 | " \n", 849 | " \n", 850 | " \n", 851 | " \n", 852 | " \n", 853 | " \n", 854 | " \n", 855 | " \n", 856 | " \n", 857 | " \n", 858 | " \n", 859 | " \n", 860 | " \n", 861 | " \n", 862 | " \n", 863 | " \n", 864 | " \n", 865 | " \n", 866 | " \n", 867 | " \n", 868 | " \n", 869 | " \n", 870 | " \n", 871 | " \n", 872 | " \n", 873 | " \n", 874 | " \n", 875 | " \n", 876 | " \n", 877 | " \n", 878 | " \n", 879 | " \n", 880 | " \n", 881 | " \n", 882 | " \n", 883 | " \n", 884 | " \n", 885 | " \n", 886 | " \n", 887 | " \n", 888 | " \n", 889 | " \n", 890 | " \n", 891 | " \n", 892 | " \n", 893 | " \n", 894 | " \n", 895 | " \n", 896 | " \n", 897 | " \n", 898 | " \n", 899 | " \n", 900 | " \n", 901 | " \n", 902 | " \n", 903 | " \n", 904 | " \n", 905 | " \n", 906 | " \n", 907 | " \n", 908 | " \n", 909 | " \n", 910 | " \n", 911 | " \n", 912 | " \n", 913 | " \n", 914 | " \n", 915 | " \n", 916 | " \n", 917 | " \n", 918 | " \n", 919 | " \n", 920 | " \n", 921 | " \n", 922 | " \n", 923 | " \n", 924 | " \n", 925 | " \n", 926 | " \n", 927 | " \n", 928 | " \n", 929 | " \n", 930 | " \n", 931 | " \n", 932 | " \n", 933 | " \n", 934 | " \n", 935 | " \n", 936 | " \n", 937 | " \n", 938 | " \n", 939 | " \n", 940 | " \n", 941 | " \n", 942 | " \n", 943 | " \n", 944 | " \n", 945 | " \n", 946 | " \n", 947 | " \n", 948 | " \n", 949 | " \n", 950 | " \n", 951 | " \n", 952 | " \n", 953 | " \n", 954 | " \n", 955 | " \n", 956 | " \n", 957 | " \n", 958 | " \n", 959 | " \n", 960 | " \n", 961 | " \n", 962 | " \n", 963 | " \n", 964 | " \n", 965 | " \n", 966 | " \n", 967 | " \n", 968 | " \n", 969 | " \n", 970 | " \n", 971 | " \n", 972 | " \n", 973 | " \n", 974 | " \n", 975 | " \n", 976 | " \n", 977 | " \n", 978 | " \n", 979 | " \n", 980 | " \n", 981 | " \n", 982 | " \n", 983 | " \n", 984 | " \n", 985 | " \n", 986 | " \n", 987 | " \n", 988 | " \n", 989 | " \n", 990 | " \n", 991 | " \n", 992 | " \n", 993 | " \n", 994 | " \n", 995 | " \n", 996 | " \n", 997 | " \n", 998 | " \n", 999 | " \n", 1000 | " \n", 1001 | " \n", 1002 | " \n", 1003 | " \n", 1004 | " \n", 1005 | " \n", 1006 | " \n", 1007 | " \n", 1008 | " \n", 1009 | " \n", 1010 | " \n", 1011 | " \n", 1012 | " \n", 1013 | " \n", 1014 | " \n", 1015 | " \n", 1016 | " \n", 1017 | " \n", 1018 | " \n", 1019 | " \n", 1020 | " \n", 1021 | " \n", 1022 | " \n", 1023 | " \n", 1024 | " \n", 1025 | " \n", 1026 | " \n", 1027 | " \n", 1028 | " \n", 1029 | " \n", 1030 | " \n", 1031 | " \n", 1032 | " \n", 1033 | " \n", 1034 | " \n", 1035 | " \n", 1036 | " \n", 1037 | " \n", 1038 | " \n", 1039 | " \n", 1040 | " \n", 1041 | " \n", 1042 | " \n", 1043 | " \n", 1044 | " \n", 1045 | " \n", 1046 | " \n", 1047 | " \n", 1048 | " \n", 1049 | " \n", 1050 | " \n", 1051 | " \n", 1052 | " \n", 1053 | " \n", 1054 | " \n", 1055 | " \n", 1056 | " \n", 1057 | " \n", 1058 | " \n", 1059 | " \n", 1060 | " \n", 1061 | " \n", 1062 | " \n", 1063 | " \n", 1064 | " \n", 1065 | " \n", 1066 | " \n", 1067 | " \n", 1068 | " \n", 1069 | " \n", 1070 | " \n", 1071 | " \n", 1072 | " \n", 1073 | " \n", 1074 | " \n", 1075 | " \n", 1076 | " \n", 1077 | " \n", 1078 | " \n", 1079 | " \n", 1080 | " \n", 1081 | " \n", 1082 | " \n", 1083 | " \n", 1084 | " \n", 1085 | " \n", 1086 | " \n", 1087 | " \n", 1088 | " \n", 1089 | " \n", 1090 | " \n", 1091 | " \n", 1092 | " \n", 1093 | " \n", 1094 | " \n", 1095 | " \n", 1096 | " \n", 1097 | " \n", 1098 | " \n", 1099 | " \n", 1100 | " \n", 1101 | " \n", 1102 | " \n", 1103 | " \n", 1104 | " \n", 1105 | " \n", 1106 | " \n", 1107 | " \n", 1108 | " \n", 1109 | " \n", 1110 | " \n", 1111 | " \n", 1112 | " \n", 1113 | " \n", 1114 | " \n", 1115 | " \n", 1116 | " \n", 1117 | " \n", 1118 | " \n", 1119 | " \n", 1120 | " \n", 1121 | " \n", 1122 | " \n", 1123 | " \n", 1124 | " \n", 1125 | " \n", 1126 | " \n", 1127 | " \n", 1128 | " \n", 1129 | " \n", 1130 | " \n", 1131 | " \n", 1132 | " \n", 1133 | " \n", 1134 | " \n", 1135 | " \n", 1136 | " \n", 1137 | " \n", 1138 | " \n", 1139 | " \n", 1140 | " \n", 1141 | " \n", 1142 | " \n", 1143 | " \n", 1144 | " \n", 1145 | " \n", 1146 | " \n", 1147 | " \n", 1148 | " \n", 1149 | " \n", 1150 | " \n", 1151 | " \n", 1152 | " \n", 1153 | " \n", 1154 | " \n", 1155 | " \n", 1156 | " \n", 1157 | " \n", 1158 | " \n", 1159 | " \n", 1160 | " \n", 1161 | " \n", 1162 | " \n", 1163 | " \n", 1164 | " \n", 1165 | " \n", 1166 | " \n", 1167 | " \n", 1168 | " \n", 1169 | " \n", 1170 | " \n", 1171 | " \n", 1172 | " \n", 1173 | " \n", 1174 | " \n", 1175 | " \n", 1176 | " \n", 1177 | " \n", 1178 | " \n", 1179 | " \n", 1180 | " \n", 1181 | " \n", 1182 | " \n", 1183 | " \n", 1184 | " \n", 1185 | " \n", 1186 | " \n", 1187 | " \n", 1188 | " \n", 1189 | " \n", 1190 | " \n", 1191 | " \n", 1192 | " \n", 1193 | " \n", 1194 | " \n", 1195 | " \n", 1196 | " \n", 1197 | " \n", 1198 | " \n", 1199 | " \n", 1200 | " \n", 1201 | " \n", 1202 | " \n", 1203 | " \n", 1204 | " \n", 1205 | " \n", 1206 | " \n", 1207 | " \n", 1208 | " \n", 1209 | " \n", 1210 | " \n", 1211 | " \n", 1212 | " \n", 1213 | " \n", 1214 | " \n", 1215 | " \n", 1216 | " \n", 1217 | " \n", 1218 | " \n", 1219 | " \n", 1220 | " \n", 1221 | " \n", 1222 | " \n", 1223 | " \n", 1224 | " \n", 1225 | " \n", 1226 | " \n", 1227 | " \n", 1228 | " \n", 1229 | " \n", 1230 | " \n", 1231 | " \n", 1232 | " \n", 1233 | " \n", 1234 | " \n", 1235 | " \n", 1236 | " \n", 1237 | " \n", 1238 | " \n", 1239 | " \n", 1240 | " \n", 1241 | " \n", 1242 | " \n", 1243 | " \n", 1244 | " \n", 1245 | " \n", 1246 | " \n", 1247 | " \n", 1248 | " \n", 1249 | " \n", 1250 | " \n", 1251 | " \n", 1252 | " \n", 1253 | " \n", 1254 | " \n", 1255 | " \n", 1256 | " \n", 1257 | " \n", 1258 | " \n", 1259 | " \n", 1260 | " \n", 1261 | " \n", 1262 | " \n", 1263 | " \n", 1264 | " \n", 1265 | " \n", 1266 | " \n", 1267 | " \n", 1268 | " \n", 1269 | " \n", 1270 | " \n", 1271 | " \n", 1272 | " \n", 1273 | " \n", 1274 | " \n", 1275 | " \n", 1276 | " \n", 1277 | " \n", 1278 | " \n", 1279 | " \n", 1280 | " \n", 1281 | " \n", 1282 | " \n", 1283 | " \n", 1284 | " \n", 1285 | " \n", 1286 | " \n", 1287 | " \n", 1288 | " \n", 1289 | " \n", 1290 | " \n", 1291 | " \n", 1292 | " \n", 1293 | " \n", 1294 | " \n", 1295 | " \n", 1296 | " \n", 1297 | " \n", 1298 | " \n", 1299 | " \n", 1300 | " \n", 1301 | " \n", 1302 | " \n", 1303 | " \n", 1304 | " \n", 1305 | " \n", 1306 | " \n", 1307 | " \n", 1308 | " \n", 1309 | " \n", 1310 | " \n", 1311 | " \n", 1312 | " \n", 1313 | " \n", 1314 | " \n", 1315 | " \n", 1316 | " \n", 1317 | " \n", 1318 | " \n", 1319 | " \n", 1320 | " \n", 1321 | " \n", 1322 | " \n", 1323 | " \n", 1324 | " \n", 1325 | " \n", 1326 | " \n", 1327 | " \n", 1328 | " \n", 1329 | " \n", 1330 | " \n", 1331 | " \n", 1332 | " \n", 1333 | " \n", 1334 | " \n", 1335 | " \n", 1336 | " \n", 1337 | " \n", 1338 | " \n", 1339 | " \n", 1340 | " \n", 1341 | " \n", 1342 | " \n", 1343 | " \n", 1344 | " \n", 1345 | " \n", 1346 | " \n", 1347 | " \n", 1348 | " \n", 1349 | " \n", 1350 | " \n", 1351 | " \n", 1352 | " \n", 1353 | " \n", 1354 | " \n", 1355 | " \n", 1356 | " \n", 1357 | " \n", 1358 | " \n", 1359 | " \n", 1360 | " \n", 1361 | " \n", 1362 | " \n", 1363 | " \n", 1364 | " \n", 1365 | " \n", 1366 | " \n", 1367 | " \n", 1368 | " \n", 1369 | " \n", 1370 | " \n", 1371 | " \n", 1372 | " \n", 1373 | " \n", 1374 | " \n", 1375 | " \n", 1376 | " \n", 1377 | " \n", 1378 | " \n", 1379 | " \n", 1380 | " \n", 1381 | " \n", 1382 | " \n", 1383 | " \n", 1384 | " \n", 1385 | " \n", 1386 | " \n", 1387 | " \n", 1388 | " \n", 1389 | " \n", 1390 | " \n", 1391 | " \n", 1392 | " \n", 1393 | " \n", 1394 | " \n", 1395 | " \n", 1396 | " \n", 1397 | " \n", 1398 | " \n", 1399 | " \n", 1400 | " \n", 1401 | " \n", 1402 | " \n", 1403 | " \n", 1404 | " \n", 1405 | " \n", 1406 | " \n", 1407 | " \n", 1408 | " \n", 1409 | " \n", 1410 | " \n", 1411 | " \n", 1412 | " \n", 1413 | " \n", 1414 | " \n", 1415 | " \n", 1416 | " \n", 1417 | " \n", 1418 | " \n", 1419 | " \n", 1420 | " \n", 1421 | " \n", 1422 | " \n", 1423 | " \n", 1424 | " \n", 1425 | " \n", 1426 | " \n", 1427 | " \n", 1428 | " \n", 1429 | " \n", 1430 | " \n", 1431 | " \n", 1432 | " \n", 1433 | " \n", 1434 | " \n", 1435 | " \n", 1436 | " \n", 1437 | " \n", 1438 | " \n", 1439 | " \n", 1440 | " \n", 1441 | " \n", 1442 | " \n", 1443 | " \n", 1444 | " \n", 1445 | " \n", 1446 | " \n", 1447 | " \n", 1448 | " \n", 1449 | " \n", 1450 | " \n", 1451 | " \n", 1452 | " \n", 1453 | " \n", 1454 | " \n", 1455 | " \n", 1456 | " \n", 1457 | " \n", 1458 | " \n", 1459 | " \n", 1460 | " \n", 1461 | " \n", 1462 | " \n", 1463 | " \n", 1464 | " \n", 1465 | " \n", 1466 | " \n", 1467 | " \n", 1468 | " \n", 1469 | " \n", 1470 | " \n", 1471 | " \n", 1472 | " \n", 1473 | " \n", 1474 | " \n", 1475 | " \n", 1476 | " \n", 1477 | " \n", 1478 | " \n", 1479 | " \n", 1480 | " \n", 1481 | " \n", 1482 | " \n", 1483 | " \n", 1484 | " \n", 1485 | " \n", 1486 | " \n", 1487 | " \n", 1488 | " \n", 1489 | " \n", 1490 | " \n", 1491 | " \n", 1492 | " \n", 1493 | " \n", 1494 | " \n", 1495 | " \n", 1496 | " \n", 1497 | " \n", 1498 | " \n", 1499 | " \n", 1500 | " \n", 1501 | " \n", 1502 | " \n", 1503 | " \n", 1504 | " \n", 1505 | " \n", 1506 | " \n", 1507 | " \n", 1508 | " \n", 1509 | " \n", 1510 | " \n", 1511 | " \n", 1512 | " \n", 1513 | " \n", 1514 | " \n", 1515 | " \n", 1516 | " \n", 1517 | " \n", 1518 | " \n", 1519 | " \n", 1520 | " \n", 1521 | " \n", 1522 | " \n", 1523 | " \n", 1524 | " \n", 1525 | " \n", 1526 | " \n", 1527 | " \n", 1528 | " \n", 1529 | " \n", 1530 | " \n", 1531 | " \n", 1532 | " \n", 1533 | " \n", 1534 | " \n", 1535 | " \n", 1536 | " \n", 1537 | " \n", 1538 | " \n", 1539 | " \n", 1540 | " \n", 1541 | " \n", 1542 | " \n", 1543 | " \n", 1544 | " \n", 1545 | " \n", 1546 | " \n", 1547 | " \n", 1548 | " \n", 1549 | " \n", 1550 | " \n", 1551 | " \n", 1552 | " \n", 1553 | " \n", 1554 | " \n", 1555 | " \n", 1556 | " \n", 1557 | " \n", 1558 | " \n", 1559 | " \n", 1560 | " \n", 1561 | " \n", 1562 | " \n", 1563 | " \n", 1564 | " \n", 1565 | " \n", 1566 | " \n", 1567 | " \n", 1568 | " \n", 1569 | " \n", 1570 | " \n", 1571 | " \n", 1572 | " \n", 1573 | " \n", 1574 | " \n", 1575 | " \n", 1576 | " \n", 1577 | " \n", 1578 | " \n", 1579 | " \n", 1580 | " \n", 1581 | " \n", 1582 | " \n", 1583 | " \n", 1584 | " \n", 1585 | " \n", 1586 | " \n", 1587 | " \n", 1588 | " \n", 1589 | " \n", 1590 | " \n", 1591 | " \n", 1592 | " \n", 1593 | " \n", 1594 | " \n", 1595 | " \n", 1596 | " \n", 1597 | " \n", 1598 | "
areapriceunit_priceroomshallsyearslocloc_detailtitleurlinfoloc_urlpub_timetags
165200.0307692.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林地带 仙林新村 北片 双http://esf.nanjing.fang.com/chushou/3_16614698...|2室2厅|中层(共6层)|南向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
269198.0286963.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村南区 精装送40平阁楼 户型 南师 急http://esf.nanjing.fang.com/chushou/3_16607690...|3室2厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
568210.0308823.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林 学则路 双卧朝南 南北通透 南师http://esf.nanjing.fang.com/chushou/3_16611388...|3室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
768202.0297062.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米nice!仙林新村精装两房 送阁楼 南师旁 临二号线 价格可http://esf.nanjing.fang.com/chushou/3_16617200...|2室2厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN满二,优质教育
1361168.0275412.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林 仙林新村南区 通透两房 简单装修 带阁楼 业主诚售http://esf.nanjing.fang.com/chushou/3_16616214...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
1467205.0304882.01.02002仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村精装小两房 户型正采光好 学则路苏果旁随时看房http://esf.nanjing.fang.com/chushou/3_16616763...|2室1厅|低层(共5层)|南北向|建筑年代:2002|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
1569198.0286962.02.02003仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米南师双 2号线 满二 换房急售 随时 看房http://esf.nanjing.fang.com/chushou/3_16616016...|2室2厅|低层(共6层)|南北向|建筑年代:2003|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
1662169.0272582.02.02003仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米两房中套 满2年双口 级便利 楼层 不靠边急售http://esf.nanjing.fang.com/chushou/3_16615988...|2室2厅|高层(共6层)|南北向|建筑年代:2003|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
1970205.0292862.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 通透2房 自住装修 南师旁 临学则路站 价格可谈http://esf.nanjing.fang.com/chushou/3_16616744...|2室1厅|高层(共6层)|南向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
2062190.0306452.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 正规两房 精装修 得房 南北通透 南师 急售http://esf.nanjing.fang.com/chushou/3_16613480...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
2463188.0298412.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村精装户型正采光好 学则路苏果旁随时看房http://esf.nanjing.fang.com/chushou/3_16591256...|2室1厅|高层(共7层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
2564208.0325002.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村双南两房 满五年 诚心卖 楼层好 位置好 随时看http://esf.nanjing.fang.com/chushou/3_16591268...|2室1厅|高层(共7层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
2668205.0301472.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村双南两房 满五年 诚心卖 楼层好 位置好 随时看 双http://esf.nanjing.fang.com/chushou/3_16617196...|2室1厅|中层(共6层)|南向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
2761180.0294892.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村精装两房 南师双 周边配套设施齐全 先到先得http://esf.nanjing.fang.com/chushou/3_16610431...|2室2厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
2860179.0298332.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村精装小两房 户型正采光好 学则路苏果旁随时看房http://esf.nanjing.fang.com/chushou/3_16580944...|2室1厅|高层(共6层)|东向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
2965200.0307692.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 中间楼层 中装两房 南外旁 随时看 交通方便http://esf.nanjing.fang.com/chushou/3_16614576...|2室1厅|中层(共7层)|南向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
3070205.0292862.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 通透2房 自住装修 南师旁 临学则路站 价格可谈http://esf.nanjing.fang.com/chushou/3_16614538...|2室1厅|高层(共6层)|南向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
3264200.0312502.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林南外旁 学则路口 仙林新村 两房朝南 满两年 厨卫全明http://esf.nanjing.fang.com/chushou/3_16614582...|2室1厅|中层(共6层)|南向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
3360179.0298332.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村精装小两房 户型正采光好 学则路苏果旁随时看房http://esf.nanjing.fang.com/chushou/3_16612377...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
3468210.0308822.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 双南卧室 户型方正 南师 诚心出售 随时可看http://esf.nanjing.fang.com/chushou/3_16614599...|2室1厅|低层(共6层)|南向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
3866193.0292422.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米南区 投姿均可 狠高 业主诚心抄底价急http://esf.nanjing.fang.com/chushou/3_16616965...|2室2厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN满五唯一,优质教育
3958165.0284482.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 满二年 小二房 有 总价低 急售http://esf.nanjing.fang.com/chushou/3_16616162...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
4261185.0303282.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 满二年 有 双南 二房 学则路 急售http://esf.nanjing.fang.com/chushou/3_16616310...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
4357165.0289472.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 满二年 小二房 有 总价低 急售http://esf.nanjing.fang.com/chushou/3_16616282...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
4456165.0294642.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 满二年 小二房 有 总价低 急售http://esf.nanjing.fang.com/chushou/3_16616282...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
4568208.0305882.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村双南两房 满五年 诚心卖 楼层好 位置好 南北通透http://esf.nanjing.fang.com/chushou/3_16614675...|2室1厅|中层(共6层)|南向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
4870195.0278572.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 三室 南北通透 送阁楼实用面积大 看房方便 诚心出http://esf.nanjing.fang.com/chushou/3_16478206...|2室2厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
4957160.0280702.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 带装修两房 紧靠学则路 南北通透南师区 看房方便http://esf.nanjing.fang.com/chushou/3_16478518...|2室2厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
5069203.0294202.02.02004仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 双南卧室 户型方正 南师 诚心出售 随时可看http://esf.nanjing.fang.com/chushou/3_16617010...|2室2厅|中层(共6层)|南北向|建筑年代:2004|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
5263190.0301592.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 精装两房 业主诚心急售 双房 满五年 急售http://esf.nanjing.fang.com/chushou/3_16616998...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
.............................................
6560180.0300003.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 南区两房 精装带阁楼 诚心出售随时看房http://esf.nanjing.fang.com/chushou/3_16561440...|3室2厅|高层(共6层)|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN满五唯一,优质教育
6764182.0284382.02.02005仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米南区两房南北通透采光良好南师学则路地http://esf.nanjing.fang.com/chushou/3_16542001...|2室2厅|中层(共6层)|南向|建筑年代:2005|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
6868195.0286762.02.02002仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村南北通透户型方正采光好设备齐全急售http://esf.nanjing.fang.com/chushou/3_16541998...|2室2厅|中层(共6层)|南向|建筑年代:2002|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
6956170.0303572.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 南区两房 诚心出售 随时看房http://esf.nanjing.fang.com/chushou/3_16561461...|2室1厅|中层(共6层)|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN满五唯一,优质教育
7364185.0289062.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村南区 位置佳,业主着急出售 抛售啦http://esf.nanjing.fang.com/chushou/3_16615946...|2室2厅|中层(共6层)|南向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
7468182.0267652.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 居家精装修两居室 诚心出售 南师http://esf.nanjing.fang.com/chushou/3_16615654...|2室2厅|低层(共6层)|东向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN满二,优质教育
7656151.0269642.02.02001南区仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 精装小两居 换房诚心卖 可看房http://esf.nanjing.fang.com/chushou/3_16615667...|2室2厅|中层(共6层)|东向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN满二,优质教育
7868185.0272063.02.02008仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 精装两房 带阁楼 诚心出售 机会难得哦http://esf.nanjing.fang.com/chushou/3_16612138...|3室2厅|高层(共6层)|东向|建筑年代:2008|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
8067200.0298512.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村精装2房 直上南师 方便看房http://esf.nanjing.fang.com/chushou/3_16614646...|2室2厅|中层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN满二,优质教育
8365187.0287692.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村2房 南师旁 临学则路站 换房诚售http://esf.nanjing.fang.com/chushou/3_16519355...|2室1厅|高层(共6层)|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
8666193.0292422.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 南师双 学则路站 交通便捷 楼层好 采光http://esf.nanjing.fang.com/chushou/3_16615133...|2室2厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN满五唯一,优质教育
8861190.0311482.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米代理房源 随时看房 看中可以小刀 保证你满意http://esf.nanjing.fang.com/chushou/3_16615773...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
9163190.0301592.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 精装两房 业主诚心急售 双房 满五年 急售http://esf.nanjing.fang.com/chushou/3_16615643...|2室2厅|中层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
9361180.0294892.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村精装两房 南师双 周边配套设施齐全 先到先得http://esf.nanjing.fang.com/chushou/3_16545018...|2室2厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
9468200.0294122.02.02005仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米,仙林新村200万元精装业主急售http://esf.nanjing.fang.com/chushou/3_16586901...|2室2厅|中层(共6层)|南北向|建筑年代:2005|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
9585213.8251533.02.02000仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 南师 地理位置成熟 交通便利http://esf.nanjing.fang.com/chushou/3_16583257...|3室2厅|中层(共6层)|南北向|建筑年代:2000|http://esf.nanjing.fang.com/house-xm1810511068/NaN满二,优质教育
9668182.8268822.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 带装修二房 紧靠学则路 南师区 满五且一 看房http://esf.nanjing.fang.com/chushou/3_16583251...|2室2厅|中层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN满二,优质教育
9862188.0305292.01.02010仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 学则路站 2房朝南 南师旁 满2年 诚售http://esf.nanjing.fang.com/chushou/3_16609115...|2室1厅|高层(共6层)|南北向|建筑年代:2010|http://esf.nanjing.fang.com/house-xm1810511068/NaN满二,优质教育
10168218.0320593.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村3房急售 南师 学则路1000米 总价低http://esf.nanjing.fang.com/chushou/3_16613042...|3室1厅|低层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
10265200.0307692.01.02003仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 通透2房 南师旁 临学则路站 价格可谈 急售http://esf.nanjing.fang.com/chushou/3_16613420...|2室1厅|中层(共6层)|南北向|建筑年代:2003|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
10570200.0285712.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 边户 两卧朝南 二号线学则路站 南师http://esf.nanjing.fang.com/chushou/3_16610797...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
10669203.0294202.02.02004仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村北区 简装两房 有钥匙 随时看 南师房http://esf.nanjing.fang.com/chushou/3_16611129...|2室2厅|中层(共6层)|南北向|建筑年代:2004|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
11170203.0290002.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 通透2房 自住装修 南师旁 临学则路站 价格可谈http://esf.nanjing.fang.com/chushou/3_16611573...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
11261180.0294892.02.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村精装两房 南师双 周边配套设施齐全 先到先得http://esf.nanjing.fang.com/chushou/3_16538334...|2室2厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
11457175.0307022.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 精装两房 业主诚心急售 双房 急售http://esf.nanjing.fang.com/chushou/3_16606540...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
11561195.0319672.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 通透两房 南师旁 学则路站 满两年 价格适宜http://esf.nanjing.fang.com/chushou/3_16595167...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
11860164.0273332.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 有装修 小两房 可住可租 ,配套齐全 随时看房http://esf.nanjing.fang.com/chushou/3_16563929...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN满二,优质教育
12456155.0276792.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 正规两房 精装修 得房 南北通透 南师 急售http://esf.nanjing.fang.com/chushou/3_16554479...|2室1厅|高层(共6层)|南北向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
12865200.0307692.02.02010仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林新村 精装两房 南师 南北通透 采光良好 南师 急售http://esf.nanjing.fang.com/chushou/3_16572892...|2室2厅|中层(共6层)|东南向|建筑年代:2010|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
12965198.0304622.01.02001仙林-栖霞区文枢东路和学衡路交叉口向南100米仙林-栖霞区文枢东路和学衡路交叉口向南100米栖霞 仙林新村 2室1厅http://esf.nanjing.fang.com/chushou/16_534469.htm|2室1厅|中层(共6层)|东南向|建筑年代:2001|http://esf.nanjing.fang.com/house-xm1810511068/NaN优质教育
\n", 1599 | "

66 rows × 14 columns

\n", 1600 | "
" 1601 | ], 1602 | "text/plain": [ 1603 | " area price unit_price rooms halls years loc \\\n", 1604 | "1 65 200.0 30769 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1605 | "2 69 198.0 28696 3.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1606 | "5 68 210.0 30882 3.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1607 | "7 68 202.0 29706 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1608 | "13 61 168.0 27541 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1609 | "14 67 205.0 30488 2.0 1.0 2002 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1610 | "15 69 198.0 28696 2.0 2.0 2003 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1611 | "16 62 169.0 27258 2.0 2.0 2003 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1612 | "19 70 205.0 29286 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1613 | "20 62 190.0 30645 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1614 | "24 63 188.0 29841 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1615 | "25 64 208.0 32500 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1616 | "26 68 205.0 30147 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1617 | "27 61 180.0 29489 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1618 | "28 60 179.0 29833 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1619 | "29 65 200.0 30769 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1620 | "30 70 205.0 29286 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1621 | "32 64 200.0 31250 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1622 | "33 60 179.0 29833 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1623 | "34 68 210.0 30882 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1624 | "38 66 193.0 29242 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1625 | "39 58 165.0 28448 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1626 | "42 61 185.0 30328 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1627 | "43 57 165.0 28947 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1628 | "44 56 165.0 29464 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1629 | "45 68 208.0 30588 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1630 | "48 70 195.0 27857 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1631 | "49 57 160.0 28070 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1632 | "50 69 203.0 29420 2.0 2.0 2004 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1633 | "52 63 190.0 30159 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1634 | ".. ... ... ... ... ... ... ... \n", 1635 | "65 60 180.0 30000 3.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1636 | "67 64 182.0 28438 2.0 2.0 2005 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1637 | "68 68 195.0 28676 2.0 2.0 2002 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1638 | "69 56 170.0 30357 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1639 | "73 64 185.0 28906 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1640 | "74 68 182.0 26765 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1641 | "76 56 151.0 26964 2.0 2.0 2001 南区 \n", 1642 | "78 68 185.0 27206 3.0 2.0 2008 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1643 | "80 67 200.0 29851 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1644 | "83 65 187.0 28769 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1645 | "86 66 193.0 29242 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1646 | "88 61 190.0 31148 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1647 | "91 63 190.0 30159 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1648 | "93 61 180.0 29489 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1649 | "94 68 200.0 29412 2.0 2.0 2005 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1650 | "95 85 213.8 25153 3.0 2.0 2000 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1651 | "96 68 182.8 26882 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1652 | "98 62 188.0 30529 2.0 1.0 2010 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1653 | "101 68 218.0 32059 3.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1654 | "102 65 200.0 30769 2.0 1.0 2003 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1655 | "105 70 200.0 28571 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1656 | "106 69 203.0 29420 2.0 2.0 2004 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1657 | "111 70 203.0 29000 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1658 | "112 61 180.0 29489 2.0 2.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1659 | "114 57 175.0 30702 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1660 | "115 61 195.0 31967 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1661 | "118 60 164.0 27333 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1662 | "124 56 155.0 27679 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1663 | "128 65 200.0 30769 2.0 2.0 2010 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1664 | "129 65 198.0 30462 2.0 1.0 2001 仙林-栖霞区文枢东路和学衡路交叉口向南100米 \n", 1665 | "\n", 1666 | " loc_detail title \\\n", 1667 | "1 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林地带 仙林新村 北片 双 \n", 1668 | "2 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村南区 精装送40平阁楼 户型 南师 急 \n", 1669 | "5 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林 学则路 双卧朝南 南北通透 南师 \n", 1670 | "7 仙林-栖霞区文枢东路和学衡路交叉口向南100米 nice!仙林新村精装两房 送阁楼 南师旁 临二号线 价格可 \n", 1671 | "13 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林 仙林新村南区 通透两房 简单装修 带阁楼 业主诚售 \n", 1672 | "14 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村精装小两房 户型正采光好 学则路苏果旁随时看房 \n", 1673 | "15 仙林-栖霞区文枢东路和学衡路交叉口向南100米 南师双 2号线 满二 换房急售 随时 看房 \n", 1674 | "16 仙林-栖霞区文枢东路和学衡路交叉口向南100米 两房中套 满2年双口 级便利 楼层 不靠边急售 \n", 1675 | "19 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 通透2房 自住装修 南师旁 临学则路站 价格可谈 \n", 1676 | "20 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 正规两房 精装修 得房 南北通透 南师 急售 \n", 1677 | "24 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村精装户型正采光好 学则路苏果旁随时看房 \n", 1678 | "25 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村双南两房 满五年 诚心卖 楼层好 位置好 随时看 \n", 1679 | "26 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村双南两房 满五年 诚心卖 楼层好 位置好 随时看 双 \n", 1680 | "27 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村精装两房 南师双 周边配套设施齐全 先到先得 \n", 1681 | "28 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村精装小两房 户型正采光好 学则路苏果旁随时看房 \n", 1682 | "29 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 中间楼层 中装两房 南外旁 随时看 交通方便 \n", 1683 | "30 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 通透2房 自住装修 南师旁 临学则路站 价格可谈 \n", 1684 | "32 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林南外旁 学则路口 仙林新村 两房朝南 满两年 厨卫全明 \n", 1685 | "33 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村精装小两房 户型正采光好 学则路苏果旁随时看房 \n", 1686 | "34 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 双南卧室 户型方正 南师 诚心出售 随时可看 \n", 1687 | "38 仙林-栖霞区文枢东路和学衡路交叉口向南100米 南区 投姿均可 狠高 业主诚心抄底价急 \n", 1688 | "39 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 满二年 小二房 有 总价低 急售 \n", 1689 | "42 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 满二年 有 双南 二房 学则路 急售 \n", 1690 | "43 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 满二年 小二房 有 总价低 急售 \n", 1691 | "44 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 满二年 小二房 有 总价低 急售 \n", 1692 | "45 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村双南两房 满五年 诚心卖 楼层好 位置好 南北通透 \n", 1693 | "48 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 三室 南北通透 送阁楼实用面积大 看房方便 诚心出 \n", 1694 | "49 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 带装修两房 紧靠学则路 南北通透南师区 看房方便 \n", 1695 | "50 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 双南卧室 户型方正 南师 诚心出售 随时可看 \n", 1696 | "52 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 精装两房 业主诚心急售 双房 满五年 急售 \n", 1697 | ".. ... ... \n", 1698 | "65 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 南区两房 精装带阁楼 诚心出售随时看房 \n", 1699 | "67 仙林-栖霞区文枢东路和学衡路交叉口向南100米 南区两房南北通透采光良好南师学则路地 \n", 1700 | "68 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村南北通透户型方正采光好设备齐全急售 \n", 1701 | "69 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 南区两房 诚心出售 随时看房 \n", 1702 | "73 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村南区 位置佳,业主着急出售 抛售啦 \n", 1703 | "74 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 居家精装修两居室 诚心出售 南师 \n", 1704 | "76 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 精装小两居 换房诚心卖 可看房 \n", 1705 | "78 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 精装两房 带阁楼 诚心出售 机会难得哦 \n", 1706 | "80 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村精装2房 直上南师 方便看房 \n", 1707 | "83 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村2房 南师旁 临学则路站 换房诚售 \n", 1708 | "86 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 南师双 学则路站 交通便捷 楼层好 采光 \n", 1709 | "88 仙林-栖霞区文枢东路和学衡路交叉口向南100米 代理房源 随时看房 看中可以小刀 保证你满意 \n", 1710 | "91 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 精装两房 业主诚心急售 双房 满五年 急售 \n", 1711 | "93 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村精装两房 南师双 周边配套设施齐全 先到先得 \n", 1712 | "94 仙林-栖霞区文枢东路和学衡路交叉口向南100米 ,仙林新村200万元精装业主急售 \n", 1713 | "95 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 南师 地理位置成熟 交通便利 \n", 1714 | "96 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 带装修二房 紧靠学则路 南师区 满五且一 看房 \n", 1715 | "98 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 学则路站 2房朝南 南师旁 满2年 诚售 \n", 1716 | "101 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村3房急售 南师 学则路1000米 总价低 \n", 1717 | "102 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 通透2房 南师旁 临学则路站 价格可谈 急售 \n", 1718 | "105 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 边户 两卧朝南 二号线学则路站 南师 \n", 1719 | "106 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村北区 简装两房 有钥匙 随时看 南师房 \n", 1720 | "111 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 通透2房 自住装修 南师旁 临学则路站 价格可谈 \n", 1721 | "112 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村精装两房 南师双 周边配套设施齐全 先到先得 \n", 1722 | "114 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 精装两房 业主诚心急售 双房 急售 \n", 1723 | "115 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 通透两房 南师旁 学则路站 满两年 价格适宜 \n", 1724 | "118 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 有装修 小两房 可住可租 ,配套齐全 随时看房 \n", 1725 | "124 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 正规两房 精装修 得房 南北通透 南师 急售 \n", 1726 | "128 仙林-栖霞区文枢东路和学衡路交叉口向南100米 仙林新村 精装两房 南师 南北通透 采光良好 南师 急售 \n", 1727 | "129 仙林-栖霞区文枢东路和学衡路交叉口向南100米 栖霞 仙林新村 2室1厅 \n", 1728 | "\n", 1729 | " url \\\n", 1730 | "1 http://esf.nanjing.fang.com/chushou/3_16614698... \n", 1731 | "2 http://esf.nanjing.fang.com/chushou/3_16607690... \n", 1732 | "5 http://esf.nanjing.fang.com/chushou/3_16611388... \n", 1733 | "7 http://esf.nanjing.fang.com/chushou/3_16617200... \n", 1734 | "13 http://esf.nanjing.fang.com/chushou/3_16616214... \n", 1735 | "14 http://esf.nanjing.fang.com/chushou/3_16616763... \n", 1736 | "15 http://esf.nanjing.fang.com/chushou/3_16616016... \n", 1737 | "16 http://esf.nanjing.fang.com/chushou/3_16615988... \n", 1738 | "19 http://esf.nanjing.fang.com/chushou/3_16616744... \n", 1739 | "20 http://esf.nanjing.fang.com/chushou/3_16613480... \n", 1740 | "24 http://esf.nanjing.fang.com/chushou/3_16591256... \n", 1741 | "25 http://esf.nanjing.fang.com/chushou/3_16591268... \n", 1742 | "26 http://esf.nanjing.fang.com/chushou/3_16617196... \n", 1743 | "27 http://esf.nanjing.fang.com/chushou/3_16610431... \n", 1744 | "28 http://esf.nanjing.fang.com/chushou/3_16580944... \n", 1745 | "29 http://esf.nanjing.fang.com/chushou/3_16614576... \n", 1746 | "30 http://esf.nanjing.fang.com/chushou/3_16614538... \n", 1747 | "32 http://esf.nanjing.fang.com/chushou/3_16614582... \n", 1748 | "33 http://esf.nanjing.fang.com/chushou/3_16612377... \n", 1749 | "34 http://esf.nanjing.fang.com/chushou/3_16614599... \n", 1750 | "38 http://esf.nanjing.fang.com/chushou/3_16616965... \n", 1751 | "39 http://esf.nanjing.fang.com/chushou/3_16616162... \n", 1752 | "42 http://esf.nanjing.fang.com/chushou/3_16616310... \n", 1753 | "43 http://esf.nanjing.fang.com/chushou/3_16616282... \n", 1754 | "44 http://esf.nanjing.fang.com/chushou/3_16616282... \n", 1755 | "45 http://esf.nanjing.fang.com/chushou/3_16614675... \n", 1756 | "48 http://esf.nanjing.fang.com/chushou/3_16478206... \n", 1757 | "49 http://esf.nanjing.fang.com/chushou/3_16478518... \n", 1758 | "50 http://esf.nanjing.fang.com/chushou/3_16617010... \n", 1759 | "52 http://esf.nanjing.fang.com/chushou/3_16616998... \n", 1760 | ".. ... \n", 1761 | "65 http://esf.nanjing.fang.com/chushou/3_16561440... \n", 1762 | "67 http://esf.nanjing.fang.com/chushou/3_16542001... \n", 1763 | "68 http://esf.nanjing.fang.com/chushou/3_16541998... \n", 1764 | "69 http://esf.nanjing.fang.com/chushou/3_16561461... \n", 1765 | "73 http://esf.nanjing.fang.com/chushou/3_16615946... \n", 1766 | "74 http://esf.nanjing.fang.com/chushou/3_16615654... \n", 1767 | "76 http://esf.nanjing.fang.com/chushou/3_16615667... \n", 1768 | "78 http://esf.nanjing.fang.com/chushou/3_16612138... \n", 1769 | "80 http://esf.nanjing.fang.com/chushou/3_16614646... \n", 1770 | "83 http://esf.nanjing.fang.com/chushou/3_16519355... \n", 1771 | "86 http://esf.nanjing.fang.com/chushou/3_16615133... \n", 1772 | "88 http://esf.nanjing.fang.com/chushou/3_16615773... \n", 1773 | "91 http://esf.nanjing.fang.com/chushou/3_16615643... \n", 1774 | "93 http://esf.nanjing.fang.com/chushou/3_16545018... \n", 1775 | "94 http://esf.nanjing.fang.com/chushou/3_16586901... \n", 1776 | "95 http://esf.nanjing.fang.com/chushou/3_16583257... \n", 1777 | "96 http://esf.nanjing.fang.com/chushou/3_16583251... \n", 1778 | "98 http://esf.nanjing.fang.com/chushou/3_16609115... \n", 1779 | "101 http://esf.nanjing.fang.com/chushou/3_16613042... \n", 1780 | "102 http://esf.nanjing.fang.com/chushou/3_16613420... \n", 1781 | "105 http://esf.nanjing.fang.com/chushou/3_16610797... \n", 1782 | "106 http://esf.nanjing.fang.com/chushou/3_16611129... \n", 1783 | "111 http://esf.nanjing.fang.com/chushou/3_16611573... \n", 1784 | "112 http://esf.nanjing.fang.com/chushou/3_16538334... \n", 1785 | "114 http://esf.nanjing.fang.com/chushou/3_16606540... \n", 1786 | "115 http://esf.nanjing.fang.com/chushou/3_16595167... \n", 1787 | "118 http://esf.nanjing.fang.com/chushou/3_16563929... \n", 1788 | "124 http://esf.nanjing.fang.com/chushou/3_16554479... \n", 1789 | "128 http://esf.nanjing.fang.com/chushou/3_16572892... \n", 1790 | "129 http://esf.nanjing.fang.com/chushou/16_534469.htm \n", 1791 | "\n", 1792 | " info \\\n", 1793 | "1 |2室2厅|中层(共6层)|南向|建筑年代:2001| \n", 1794 | "2 |3室2厅|高层(共6层)|南北向|建筑年代:2001| \n", 1795 | "5 |3室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1796 | "7 |2室2厅|高层(共6层)|南北向|建筑年代:2001| \n", 1797 | "13 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1798 | "14 |2室1厅|低层(共5层)|南北向|建筑年代:2002| \n", 1799 | "15 |2室2厅|低层(共6层)|南北向|建筑年代:2003| \n", 1800 | "16 |2室2厅|高层(共6层)|南北向|建筑年代:2003| \n", 1801 | "19 |2室1厅|高层(共6层)|南向|建筑年代:2001| \n", 1802 | "20 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1803 | "24 |2室1厅|高层(共7层)|南北向|建筑年代:2001| \n", 1804 | "25 |2室1厅|高层(共7层)|南北向|建筑年代:2001| \n", 1805 | "26 |2室1厅|中层(共6层)|南向|建筑年代:2001| \n", 1806 | "27 |2室2厅|高层(共6层)|南北向|建筑年代:2001| \n", 1807 | "28 |2室1厅|高层(共6层)|东向|建筑年代:2001| \n", 1808 | "29 |2室1厅|中层(共7层)|南向|建筑年代:2001| \n", 1809 | "30 |2室1厅|高层(共6层)|南向|建筑年代:2001| \n", 1810 | "32 |2室1厅|中层(共6层)|南向|建筑年代:2001| \n", 1811 | "33 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1812 | "34 |2室1厅|低层(共6层)|南向|建筑年代:2001| \n", 1813 | "38 |2室2厅|高层(共6层)|南北向|建筑年代:2001| \n", 1814 | "39 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1815 | "42 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1816 | "43 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1817 | "44 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1818 | "45 |2室1厅|中层(共6层)|南向|建筑年代:2001| \n", 1819 | "48 |2室2厅|高层(共6层)|南北向|建筑年代:2001| \n", 1820 | "49 |2室2厅|高层(共6层)|南北向|建筑年代:2001| \n", 1821 | "50 |2室2厅|中层(共6层)|南北向|建筑年代:2004| \n", 1822 | "52 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1823 | ".. ... \n", 1824 | "65 |3室2厅|高层(共6层)|建筑年代:2001| \n", 1825 | "67 |2室2厅|中层(共6层)|南向|建筑年代:2005| \n", 1826 | "68 |2室2厅|中层(共6层)|南向|建筑年代:2002| \n", 1827 | "69 |2室1厅|中层(共6层)|建筑年代:2001| \n", 1828 | "73 |2室2厅|中层(共6层)|南向|建筑年代:2001| \n", 1829 | "74 |2室2厅|低层(共6层)|东向|建筑年代:2001| \n", 1830 | "76 |2室2厅|中层(共6层)|东向|建筑年代:2001| \n", 1831 | "78 |3室2厅|高层(共6层)|东向|建筑年代:2008| \n", 1832 | "80 |2室2厅|中层(共6层)|南北向|建筑年代:2001| \n", 1833 | "83 |2室1厅|高层(共6层)|建筑年代:2001| \n", 1834 | "86 |2室2厅|高层(共6层)|南北向|建筑年代:2001| \n", 1835 | "88 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1836 | "91 |2室2厅|中层(共6层)|南北向|建筑年代:2001| \n", 1837 | "93 |2室2厅|高层(共6层)|南北向|建筑年代:2001| \n", 1838 | "94 |2室2厅|中层(共6层)|南北向|建筑年代:2005| \n", 1839 | "95 |3室2厅|中层(共6层)|南北向|建筑年代:2000| \n", 1840 | "96 |2室2厅|中层(共6层)|南北向|建筑年代:2001| \n", 1841 | "98 |2室1厅|高层(共6层)|南北向|建筑年代:2010| \n", 1842 | "101 |3室1厅|低层(共6层)|南北向|建筑年代:2001| \n", 1843 | "102 |2室1厅|中层(共6层)|南北向|建筑年代:2003| \n", 1844 | "105 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1845 | "106 |2室2厅|中层(共6层)|南北向|建筑年代:2004| \n", 1846 | "111 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1847 | "112 |2室2厅|高层(共6层)|南北向|建筑年代:2001| \n", 1848 | "114 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1849 | "115 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1850 | "118 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1851 | "124 |2室1厅|高层(共6层)|南北向|建筑年代:2001| \n", 1852 | "128 |2室2厅|中层(共6层)|东南向|建筑年代:2010| \n", 1853 | "129 |2室1厅|中层(共6层)|东南向|建筑年代:2001| \n", 1854 | "\n", 1855 | " loc_url pub_time tags \n", 1856 | "1 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1857 | "2 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1858 | "5 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1859 | "7 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 满二,优质教育 \n", 1860 | "13 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1861 | "14 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1862 | "15 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1863 | "16 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1864 | "19 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1865 | "20 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1866 | "24 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1867 | "25 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1868 | "26 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1869 | "27 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1870 | "28 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1871 | "29 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1872 | "30 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1873 | "32 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1874 | "33 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1875 | "34 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1876 | "38 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 满五唯一,优质教育 \n", 1877 | "39 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1878 | "42 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1879 | "43 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1880 | "44 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1881 | "45 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1882 | "48 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1883 | "49 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1884 | "50 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1885 | "52 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1886 | ".. ... ... ... \n", 1887 | "65 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 满五唯一,优质教育 \n", 1888 | "67 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1889 | "68 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1890 | "69 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 满五唯一,优质教育 \n", 1891 | "73 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1892 | "74 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 满二,优质教育 \n", 1893 | "76 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 满二,优质教育 \n", 1894 | "78 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1895 | "80 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 满二,优质教育 \n", 1896 | "83 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1897 | "86 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 满五唯一,优质教育 \n", 1898 | "88 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1899 | "91 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1900 | "93 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1901 | "94 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1902 | "95 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 满二,优质教育 \n", 1903 | "96 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 满二,优质教育 \n", 1904 | "98 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 满二,优质教育 \n", 1905 | "101 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1906 | "102 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1907 | "105 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1908 | "106 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1909 | "111 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1910 | "112 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1911 | "114 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1912 | "115 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1913 | "118 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 满二,优质教育 \n", 1914 | "124 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1915 | "128 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1916 | "129 http://esf.nanjing.fang.com/house-xm1810511068/ NaN 优质教育 \n", 1917 | "\n", 1918 | "[66 rows x 14 columns]" 1919 | ] 1920 | }, 1921 | "execution_count": 14, 1922 | "metadata": {}, 1923 | "output_type": "execute_result" 1924 | } 1925 | ], 1926 | "source": [ 1927 | "df2[(df2['area'].astype(float) > 55) & (df2['price'].astype(float) < 220)]" 1928 | ] 1929 | }, 1930 | { 1931 | "cell_type": "code", 1932 | "execution_count": null, 1933 | "metadata": { 1934 | "collapsed": true 1935 | }, 1936 | "outputs": [], 1937 | "source": [] 1938 | } 1939 | ], 1940 | "metadata": { 1941 | "kernelspec": { 1942 | "display_name": "Python 3", 1943 | "language": "python", 1944 | "name": "python3" 1945 | }, 1946 | "language_info": { 1947 | "codemirror_mode": { 1948 | "name": "ipython", 1949 | "version": 3 1950 | }, 1951 | "file_extension": ".py", 1952 | "mimetype": "text/x-python", 1953 | "name": "python", 1954 | "nbconvert_exporter": "python", 1955 | "pygments_lexer": "ipython3", 1956 | "version": "3.6.1" 1957 | } 1958 | }, 1959 | "nbformat": 4, 1960 | "nbformat_minor": 2 1961 | } 1962 | --------------------------------------------------------------------------------