问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

附近要租房子上哪找

发布网友 发布时间:2022-04-22 08:01

我来回答

9个回答

懂视网 时间:2022-04-23 04:30


这次给大家带来地图搜租房功能实现,地图搜租房功能实现的注意事项有哪些,下面就是实战案例,一起来看一下。

layout: post
title: 半个小时教你写一个毕设之地图搜租房
category: 其他
date: 2018-05-23
tags:

  • 其他


  • 半个小时教你写一个毕设之地图搜租房

    首先需要一个Python3环境,怎么准备我就不多说了,实在不会的出门右转看一下廖雪峰老师的博客.

    HTML部分

  • 代码来自:高德API+Python解决租房问题,简单改了下加载数据部分

  • 代码路径:/static/index.html

    <html>
    <head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
     <title>毕业生租房</title>
     <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css" />
     <link rel="stylesheet" href="http://cache.amap.com/lbs/static/jquery.range.css" />
     <script src="http://cache.amap.com/lbs/static/jquery-1.9.1.js"></script>
     <script src="http://cache.amap.com/lbs/static/es5.min.js"></script>
     <script src="http://webapi.amap.com/maps?v=1.3&key=22d3816e107f199992666d6412fa0691&plugin=AMap.ArrivalRange,AMap.Scale,AMap.Geocoder,AMap.Transfer,AMap.Autocomplete"></script>
     <script src="http://cache.amap.com/lbs/static/jquery.range.js"></script>
     <style>
     .control-panel {
     position: absolute;
     top: 30px;
     right: 20px;
     }
     
     .control-entry {
     width: 280px;
     background-color: rgba(119, 136, 153, 0.8);
     font-family: fantasy, sans-serif;
     text-align: left;
     color: white;
     overflow: auto;
     padding: 10px;
     margin-bottom: 10px;
     }
     
     .control-input {
     margin-left: 120px;
     }
     
     .control-input input[type="text"] {
     width: 160px;
     }
     
     .control-panel label {
     float: left;
     width: 120px;
     }
     
     #transfer-panel {
     position: absolute;
     background-color: white;
     max-height: 80%;
     overflow-y: auto;
     top: 30px;
     left: 20px;
     width: 250px;
     }
     </style>
    </head>
    <body>
     <p id="container"></p>
     <p class="control-panel">
     <p class="control-entry">
      <label>选择工作地点:</label>
      <p class="control-input">
      <input id="work-location" type="text">
      </p>
     </p>
     <p class="control-entry">
      <label>选择通勤方式:</label>
      <p class="control-input">
      <input type="radio" name="vehicle" value="SUBWAY,BUS" onClick="takeBus(this)" checked/> 公交+地铁
      <input type="radio" name="vehicle" value="SUBWAY" onClick="takeSubway(this)" /> 地铁
      </p>
     </p>
     </p>
     <p id="transfer-panel"></p>
     <script>
     var map = new AMap.Map("container", {
     resizeEnable: true,
     zoomEnable: true,
     center: [116.397428, 39.90923],
     zoom: 11
     });
     var scale = new AMap.Scale();
     map.addControl(scale);
     var arrivalRange = new AMap.ArrivalRange();
     var x, y, t, vehicle = "SUBWAY,BUS";
     var workAddress, workMarker;
     var rentMarkerArray = [];
     var polygonArray = [];
     var amapTransfer;
     var infoWindow = new AMap.InfoWindow({
     offset: new AMap.Pixel(0, -30)
     });
     var auto = new AMap.Autocomplete({
     input: "work-location"
     });
     
     AMap.event.addListener(auto, "select", workLocationSelected);
     function takeBus(radio) {
     vehicle = radio.value;
     loadWorkLocation()
     }
     function takeSubway(radio) {
     vehicle = radio.value;
     loadWorkLocation()
     }
     function workLocationSelected(e) {
     workAddress = e.poi.name;
     loadWorkLocation();
     }
     function loadWorkMarker(x, y, locationName) {
     workMarker = new AMap.Marker({
      map: map,
      title: locationName,
      icon: 'http://webapi.amap.com/theme/v1.3/markers/n/mark_r.png',
      position: [x, y]
     });
     }
     function loadWorkRange(x, y, t, color, v) {
     arrivalRange.search([x, y], t, function(status, result) {
      if (result.bounds) {
      for (var i = 0; i < result.bounds.length; i++) {
       var polygon = new AMap.Polygon({
       map: map,
       fillColor: color,
       fillOpacity: "0.4",
       strokeColor: color,
       strokeOpacity: "0.8",
       strokeWeight: 1
       });
       polygon.setPath(result.bounds[i]);
       polygonArray.push(polygon);
      }
      }
     }, {
      policy: v
     });
     }
     function addMarkerByAddress(address, url) {
     var geocoder = new AMap.Geocoder({
      city: "北京",
      radius: 1000
     });
     geocoder.getLocation(address, function(status, result) {
      if (status === "complete" && result.info === 'OK') {
      var geocode = result.geocodes[0];
      rentMarker = new AMap.Marker({
       map: map,
       title: address,
       icon: 'http://webapi.amap.com/theme/v1.3/markers/n/mark_b.png',
       position: [geocode.location.getLng(), geocode.location.getLat()]
      });
      rentMarkerArray.push(rentMarker);
      rentMarker.content = "<p>房源:<a target = '_blank' href='" + url + "'>" + address + "</a><p>"
      rentMarker.on('click', function(e) {
       infoWindow.setContent(e.target.content);
       infoWindow.open(map, e.target.getPosition());
       if (amapTransfer) amapTransfer.clear();
       amapTransfer = new AMap.Transfer({
       map: map,
       policy: AMap.TransferPolicy.LEAST_TIME,
       city: "北京市",
       panel: 'transfer-panel'
       });
       amapTransfer.search([{
       keyword: workAddress
       }, {
       keyword: address
       }], function(status, result) {})
      });
      }
     })
     }
     function delWorkLocation() {
     if (polygonArray) map.remove(polygonArray);
     if (workMarker) map.remove(workMarker);
     polygonArray = [];
     }
     function delRentLocation() {
     if (rentMarkerArray) map.remove(rentMarkerArray);
     rentMarkerArray = [];
     }
     function loadWorkLocation() {
     delWorkLocation();
     var geocoder = new AMap.Geocoder({
      city: "北京",
      radius: 1000
     });
     geocoder.getLocation(workAddress, function(status, result) {
      if (status === "complete" && result.info === 'OK') {
      var geocode = result.geocodes[0];
      x = geocode.location.getLng();
      y = geocode.location.getLat();
      loadWorkMarker(x, y);
      loadWorkRange(x, y, 60, "#3f67a5", vehicle);
      map.setZoomAndCenter(12, [x, y]);
      }
     })
     }
     $(function()
     {
     $.get("/get_houses", function(data) {
      data.forEach(function(element, index) {
      addMarkerByAddress(element.address, element.url);
      });
     });
     })
     </script>
    </body>
    </html>

    Python flask部分

    Python3环境,使用安装Flask,pymysql,BeautifulSoup

    pip install Flask;
    pip install pymysql;
    pip install beautifulsoup4;
    pip install requests;

    然后直接上代码咯.

    路径:/app.py

    from flask import Flask, request
    from flask import jsonify
    from flask import render_template
    from flask import Response
    import requests
    from bs4 import BeautifulSoup
    import pymysql
    app = Flask(name)
    @app.route("/get_houses_db/")
    def get_houses_db():
     # 从数据库读出来的数据,url为房源url,address为房源定位地址
     houses = []
     # Connect to the database
     connection = pymysql.connect(host='127.0.0.1',
         user='root',
         password='123',
         db='你的数据库名字',
         charset='utf8mb4',
         cursorclass=pymysql.cursors.DictCursor)
     try:
     with connection.cursor() as cursor:
      # Read a single record
      sql = "SELECT 你的URL字段,你的地址字段 FROM 你的房源数据表 where 1=1;"
      keyword = request.args.get('keyword')
      if keyword is not None:
      sql = sql + "查询字段 like %%s%" % keyword
      cursor.execute(sql)
      houses = cursor.fetchall()
     finally:
     connection.close()
     return jsonify(houses)
    @app.route("/get_houses", methods=['POST', 'GET'])
    def get_houses():
     # 直接从网页获取数据,url为房源url,address为房源定位地址
     houses = []
     city = request.args.get('city')
     if city is None:
     city = 'bj'
     city_url = 'http://%s.58.com' % city
     for page_num in range(1, 10):
     url = "%s/pinpaigongyu/pn/%d/" % (city_url, page_num)
     headers = {
      'connection': "keep-alive",
      'upgrade-insecure-requests': "1",
      'user-agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36",
      'accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
      'accept-encoding': "gzip, deflate",
      'accept-language': "zh-CN,zh;q=0.9,en;q=0.8,da;q=0.7",
      'cookie': "f=n; f=n; id58=c5/njVsEqPqC7y9vB/RHAg==; 58tj_uuid=ac94c044-cbb8-451c-b6be-974f90197010; new_uv=1; utm_source=; spm=; init_refer=https%253A%252F%252Fcn.bing.com%252F; als=0; f=n; new_session=0; qz_gdt=; Hm_lvt_dcee4f66df28844222ef0479976aabf1=1527032264,1527032267,1527032270,1527032380; Hm_lpvt_dcee4f66df28844222ef0479976aabf1=1527032421; ppStore_fingerprint=3283C76981CCD1090B42ACBBF624A4C9613FE967CDC69C58%EF%BC%BF1527032420843",
      'cache-control': "no-cache",
     }
     response = requests.request("GET", url, headers=headers)
     htmlSoup = BeautifulSoup(response.text, "html.parser")
     ul = htmlSoup.find(attrs={"class": "list"})
     if ul is None:
      continue
     li_list = ul.find_all("li")
     if li_list is None:
      continue
     for li in li_list:
      house = {}
      house['url'] = '%s/%s' % (city_url, li.find("a")['href'])
      house['address'] = li.find("h2").text
      houses.append(house)
     return jsonify(houses)
    @app.route('/')
    def index():
     return app.send_static_file('index.html')
    if name == 'main':
     app.run(port=8888)
    # python3 安装flask之后,安装命令pip install Flask
    # 运行 python app.py

    效果图:

    1
    2

    相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

    推荐阅读:

    JS中的JSON和Math使用案例分析

    EasyCanvas绘图库在Pixeler项目开发中使用实战总结

    PromiseA+的实现步骤详解

    热心网友 时间:2022-04-23 01:38

    可以关注当地房产网或者房产论坛上的房屋信息。
    租房需要考虑以下几个方面:
    1.上班是否便利
    租房子的时候,当然不能一味只考虑价格,尤其是房子所在的地方距离上班的路程。租房子肯定要注意交通的便利性,如距离公交车站,出租车站,地铁站等的距离。这样也便于自己出行的方便。
    2.房间的通风与采光。
    实际去看房子的时候,不要看一看就走。要仔细观察房子是否通风,采光度如何,方不方便晾晒衣服。要是住进去了,看不到阳光,又不透气,钱又花了,一时半会就不好找房子,花钱是小事,既浪费时间又影响心情。
    3.房子的价格。
    很多人租房子,价格都是要考虑的问题。当我们去一个陌生的城市的时候,不清楚房租的价格。可以先去问一问同事朋友。当然,较好的就是货比几家,多问问,心里面自然就有一个大概了。只要价格在这范围内,再去结合其他的方面考虑。
    4.仔细观察周边环境。 房子的周边环境很重要,具体要注意以下几个方面:
    第1:安全性。观察门窗,看看别人容不容易进来。
    第2:是否吵闹。如果房子靠近马路,下面有一些生意很好人且流量很大的店铺,就要想清楚了。
    5.租房周围的集市
    如果有做饭的需求,要看看周围是否有大菜市场和便利店,节约生活开支中的每一点钱,是很有必要的。
    6.租房周围的治安
    人在他乡,安全第一,所以一定要选择治安好的租住环境。如何了解当地片区的治安,可以多多在网上留意,上上当地的门户网站,多多从旁人口中了解,从朋友口中了解。较后,再熟悉下周围最近的报警点,以防万一。
    7.租房内里的人身财产安全
    首先,公共空间的安全,门窗是否安全,是否安装防盗门窗;卧室是否安全,门窗是否结实,租房后一定要记得更换自己房间的钥匙,家中少放现金;出租在一起的人员是否安全,这个一定要向房东了解清楚,他们的基本情况,工作情况,男女比例等;特别是女生,考虑的问题更多。

    热心网友 时间:2022-04-23 02:56

    附近的没有租房子的

    热心网友 时间:2022-04-23 04:30

    付费内容限时免费查看回答1、网上租房:

    如果想租房的话,可以通过电脑或者手机app去网上一些正规的大型租房网站进行找房子,然后找到合适的房子后,与房东联系,再约时间去看房租房。

    2、中介租房:

    如果想租房,一般可以去找附近中介,然后找到附近的中介。一般附近有很多房源信息,房东都会挂到中介,这样中介一般都会介绍需要的价格和合适的房子,并带着去看房子。

    3、朋友介绍:

    可以通过亲朋好友或者同事给介绍,因为这样的房子一般都靠谱,而且价格适宜。

    4、报纸找房:

    租房子还可以通过看报纸,有很多广告信息或者房源信息都会在报纸上投广告,因此,可以看看报纸,通过报纸来了解房源信息,进而联系房东找房看房。

    5、小区或者路边找房:

    租房子还可以去所在地附近区域找,一般有很多人舍不得打广告,会贴

    热心网友 时间:2022-04-23 06:22

    可以使用百度地图的搜索附近功能来查找房子。

    手机百度地图:
    启动百度地图应用程序,进入地图界面,直接定位到当前地点。
    进入地图界面后点击,左下角的附近选项,进入附近列表项。
    进入娱乐列表项之后,点击房子选项,可以在附近的房子列表中,选择自己喜欢的房子类型,房子价格。然后点击进入房子的详细信息。
    PC端百度地图:

    打开百度搜索输入百度地图,进入百度地图主界面。
    然后我们在左边可以看到菜单选项,点击上方的房子频道
    然后在左边列表中就会出现相应的房子列表,地址,价格等等详细信息,我们选择好点击预订即可。

    热心网友 时间:2022-04-23 08:30

    附近要租房子上郢哪里找

    热心网友 时间:2022-04-23 10:54

    找找附近有没有中介,一般小区附近都会有中介的吧,尤其是比较大的中介公司像链家、中原地产等等,分店应该会有很多吧,也可以在网上找找看看,像58同城、房天下都可以找找,租房还是很好找的,就看能不能租了。

    热心网友 时间:2022-04-23 13:36

    昆明找我

    热心网友 时间:2022-04-23 16:34

    天安星园二期
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    小鹏交付怎么评分 2024年5月趋乾黄道吉日 2024年5月哪天适合趋乾 2024年6月词讼黄道吉日 2024年6月哪天适合词讼 2024年8月成服黄道吉日 2024年8月哪天适合成服 2024年8月26日黄道吉日 百度识图在线识别这个人是 百度怎样识别明星是谁? 海绵城市都建什么 包钢股票前景如何 600010包钢股份这支股票我现在被套百分之六了,后市该怎么操作,适合做长 ... 用母亲节和父亲节设计一个网页主题 总是喜欢上不该喜欢的人 总是喜欢哪样做事的人,表明这个人真的很虚伪? 爱租哪 地图找房功能是什么意思? 春节节日小报的版面设计 总是很容易就喜欢一个人,怎么办? 解密:地图找房功能如何使用 中秋节手抄报版面设计 总是喜欢上不该喜欢的人,该怎么办? 窝趣公寓官网可以地图找房吗? 二年级小学生怎么来设计节日海报 总是喜欢一个人独处是怎么回事 为什么我老是很容易喜欢上一个人? 请问国内有哪些房产信息大平台?数据准确吗? 如何制作六一儿童节H5页面? 怎样设计一个关于节日的前端页面? 老是喜欢到处看--坏习惯(根本没有那么想 易遨云怎么弄地图找房 总是容易喜欢上别人怎么办啊 为什么我老是喜欢吃甜食 老是容易喜欢别人怎么办 如何制作节日祝福网页? 百度地图API 仿链家地图找房怎么获取区域边界? 老是和喜欢,有什么区别!? 如何百度地图左边信息看到房屋报价 三八妇女节节日版面设计 寻找附近的出租房 贝壳认证资质包括 求设计一个网页……主题是中国传统节日 好租网的地图找房功能怎么用JSP实现,具体的说是它... 安居客加盟区域代理 端午节网页宣传页面设计 帮忙谢谢 二手房app哪个好? 节日祝福网页制作问题! UI做界面节日效果和宣传海报设计,能学到东西吗? 哪个地图可以看房产? 设计一个节日祝福的 html 页面,系统预设变量用以... 可以通过卫星地图找房吗 谁能给我个“关于中国传统节日的网页”(最好是自己... 春季节日设计如何搭配色彩?