摘要:半個(gè)小時(shí)教你寫一個(gè)畢設(shè)之地圖搜租房其他其他半個(gè)小時(shí)教你寫一個(gè)畢設(shè)之地圖搜租房首先需要一個(gè)環(huán)境怎么準(zhǔn)備我就不多說(shuō)了實(shí)在不會(huì)的出門右轉(zhuǎn)看一下廖雪峰老師的博客部分代碼來(lái)自高德解決租房問(wèn)題簡(jiǎn)單改了下加載數(shù)據(jù)部分代碼路徑畢業(yè)生租房
layout: post
title: 半個(gè)小時(shí)教你寫一個(gè)畢設(shè)之地圖搜租房
category: 其他
date: 2018-05-23
tags:
其他
首先需要一個(gè)Python3環(huán)境,怎么準(zhǔn)備我就不多說(shuō)了,實(shí)在不會(huì)的出門右轉(zhuǎn)看一下廖雪峰老師的博客.
HTML部分代碼來(lái)自:高德API+Python解決租房問(wèn)題,簡(jiǎn)單改了下加載數(shù)據(jù)部分
代碼路徑:/static/index.html
Python flask部分畢業(yè)生租房 公交+地鐵 地鐵
Python3環(huán)境,使用安裝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(): # 從數(shù)據(jù)庫(kù)讀出來(lái)的數(shù)據(jù),url為房源url,address為房源定位地址 houses = [] # Connect to the database connection = pymysql.connect(host="127.0.0.1", user="root", password="123", db="你的數(shù)據(jù)庫(kù)名字", charset="utf8mb4", cursorclass=pymysql.cursors.DictCursor) try: with connection.cursor() as cursor: # Read a single record sql = "SELECT 你的URL字段,你的地址字段 FROM 你的房源數(shù)據(jù)表 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(): # 直接從網(wǎng)頁(yè)獲取數(shù)據(jù),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 # 運(yùn)行 python app.py
效果圖:
然后...
寫完了...
下次見(jiàn)...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/52387.html
摘要:半個(gè)小時(shí)教你寫一個(gè)畢設(shè)之地圖搜租房其他其他半個(gè)小時(shí)教你寫一個(gè)畢設(shè)之地圖搜租房首先需要一個(gè)環(huán)境怎么準(zhǔn)備我就不多說(shuō)了實(shí)在不會(huì)的出門右轉(zhuǎn)看一下廖雪峰老師的博客部分代碼來(lái)自高德解決租房問(wèn)題簡(jiǎn)單改了下加載數(shù)據(jù)部分代碼路徑畢業(yè)生租房 layout: posttitle: 半個(gè)小時(shí)教你寫一個(gè)畢設(shè)之地圖搜租房category: 其他date: 2018-05-23tags: 其他 半個(gè)小時(shí)教你寫一...
摘要:本教程由發(fā)布在實(shí)驗(yàn)樓,完整教程及在線練習(xí)地址高德解決租房問(wèn)題,可以直接在教程中下載代碼使用。本課程將解決的問(wèn)題學(xué)習(xí)了技術(shù),增長(zhǎng)了知識(shí),就能找到好工作,找到好工作就能有錢。 項(xiàng)目簡(jiǎn)介:編寫Python腳本爬取某租房網(wǎng)站的房源信息,利用高德的 js API 在地圖上標(biāo)出房源地點(diǎn),劃出距離工作地點(diǎn)1小時(shí)內(nèi)可到達(dá)的范圍,附上公交路徑規(guī)劃功能查看不同路徑的用時(shí)。 本教程由ekCit發(fā)布在實(shí)驗(yàn)樓,...
摘要:寫的人越來(lái)越想,閱讀的人越來(lái)越多的這個(gè)信息冗余的年代,會(huì)寫就代表會(huì)思考轉(zhuǎn)載保留程序員為什么值得寫博客為什么要寫博文寫一篇博文意味著要花一定的時(shí)間,有時(shí)候可能是一個(gè)小時(shí),有時(shí)候可能會(huì)更多,于是人們開(kāi)始去。 Hire Great Writers 仿佛這是寫給自己看的,不過(guò)這在其中也有著相當(dāng)有趣的意義 。雖然自己算是一個(gè)能寫的人,或許這算是一種不算才華的才華,寫博文的意義通常不會(huì)在于去描述...
摘要:讓你收獲滿滿碼個(gè)蛋從年月日推送第篇文章一年過(guò)去了已累積推文近篇文章,本文為年度精選,共計(jì)篇,按照類別整理便于讀者主題閱讀。本篇文章是今年的最后一篇技術(shù)文章,為了讓大家在家也能好好學(xué)習(xí),特此花了幾個(gè)小時(shí)整理了這些文章。 showImg(https://segmentfault.com/img/remote/1460000013241596); 讓你收獲滿滿! 碼個(gè)蛋從2017年02月20...
閱讀 1706·2021-10-09 09:44
閱讀 3267·2021-09-27 13:36
閱讀 1526·2021-09-22 15:33
閱讀 1281·2021-09-22 15:23
閱讀 1167·2021-09-06 15:02
閱讀 1704·2019-08-29 16:14
閱讀 2910·2019-08-29 15:26
閱讀 2413·2019-08-28 18:08