资讯专栏INFORMATION COLUMN

半个小时教你写一个装(bi)逼(she)之地图搜租房

iliyaku / 1757人阅读

摘要:半个小时教你写一个毕设之地图搜租房其他其他半个小时教你写一个毕设之地图搜租房首先需要一个环境怎么准备我就不多说了实在不会的出门右转看一下廖雪峰老师的博客部分代码来自高德解决租房问题简单改了下加载数据部分代码路径毕业生租房


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

其他


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

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

HTML部分

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

代码路径:/static/index.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

效果图:


然后...

写完了...

下次见...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/52387.html

相关文章

  • 半个小时你写一个(bi)(she)地图租房

    摘要:半个小时教你写一个毕设之地图搜租房其他其他半个小时教你写一个毕设之地图搜租房首先需要一个环境怎么准备我就不多说了实在不会的出门右转看一下廖雪峰老师的博客部分代码来自高德解决租房问题简单改了下加载数据部分代码路径毕业生租房 layout: posttitle: 半个小时教你写一个毕设之地图搜租房category: 其他date: 2018-05-23tags: 其他 半个小时教你写一...

    xiaowugui666 评论0 收藏0
  • 高德API+Python解决租房问题

    摘要:本教程由发布在实验楼,完整教程及在线练习地址高德解决租房问题,可以直接在教程中下载代码使用。本课程将解决的问题学习了技术,增长了知识,就能找到好工作,找到好工作就能有钱。 项目简介:编写Python脚本爬取某租房网站的房源信息,利用高德的 js API 在地图上标出房源地点,划出距离工作地点1小时内可到达的范围,附上公交路径规划功能查看不同路径的用时。 本教程由ekCit发布在实验楼,...

    dreamtecher 评论0 收藏0
  • 程序员为什么值得写博客

    摘要:写的人越来越想,阅读的人越来越多的这个信息冗余的年代,会写就代表会思考转载保留程序员为什么值得写博客为什么要写博文写一篇博文意味着要花一定的时间,有时候可能是一个小时,有时候可能会更多,于是人们开始去。 Hire Great Writers 仿佛这是写给自己看的,不过这在其中也有着相当有趣的意义 。虽然自己算是一个能写的人,或许这算是一种不算才华的才华,写博文的意义通常不会在于去描述...

    WrBug 评论0 收藏0
  • 「码个蛋」2017年200篇精选干货集合

    摘要:让你收获满满码个蛋从年月日推送第篇文章一年过去了已累积推文近篇文章,本文为年度精选,共计篇,按照类别整理便于读者主题阅读。本篇文章是今年的最后一篇技术文章,为了让大家在家也能好好学习,特此花了几个小时整理了这些文章。 showImg(https://segmentfault.com/img/remote/1460000013241596); 让你收获满满! 码个蛋从2017年02月20...

    wangtdgoodluck 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<