Python租房数据分析 爬虫 全国租房数据

技术栈:python语言 bootstrap框架 jquery css javascript html

爬取网站:贝壳租房(可爬取全国各城市数据)

功能:

租房信息数据展示、租房地址数量分布、

租房类型统计、租房价格统计分析、

租房面积分析、房屋朝向分析、

房屋户型平均价格统计分析、房屋楼层统计分析、

房屋楼层与价格统计分析、房屋地址与价格统计分析、

房屋相关信息词云展示

Django框架的核心包括:一个对象关系映射器,用作数据模型(以Python类的形式定义)和关系型数据库间的介质;一个基于正则表达式的URL分发器;一个视图系统,用于处理请求;以及一个模板系统[5]。

核心框架中还包括:

一个轻量级的、独立的Web服务器,用于开发和测试。

一个表单序列化及验证系统,用于HTML表单和适于数据库存储的数据之间的转换。

一个缓存框架,并有几种缓存方式可供选择。

中间件支持,允许对请求处理的各个阶段进行干涉。

内置的分发系统允许应用程序中的组件采用预定义的信号进行相互间的通信。

一个序列化系统,能够生成或读取采用XML或JSON表示的Django模型实例。

一个用于扩展模板引擎的能力的系统。

Django,发音类似于(粘构)。是用python语言编写的开源web开发框架,并遵循MVC设计模式。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有很多功能强大的第三方插件,也可以开发出自己的工具包。使得Django有很强的可扩展性,它还强调快速开发和DRY原则。

django 是基于P)rthon 的重量级开源Web 框架。Django 拥有高度定制的ORM 和大量的APL 简单

灵活的视图编写,优雅的URL, 适千快速开发的模板和强大的管理后台, 这使得它在Python Web 开发

领域拥有着不可动摇的地位。匝tagram 、F订eFox 、国家地理杂志等著名网站都使用了D抑1go 进行开发。

有3 种方式,分别是使用pip 安装Django 、使用virtualenv 安装Django 和使用Anaconda 安装Django, 本文使用pip命令安装。

创建Django 项目

(1) 首先在D 盘(读者可以根据实际情况选择)根目录下创建用千保存项目文件的目录, 这里创建的目录为“D:\Webproj ects”。

( 2) 在Webprojects 文件夹中创建environments 目录用千放置虚拟环境, 然后打开cmd, 输入如下创建环境命令:

: virtualenv D:\Webprojects\envi ronments\django2.0

(3) 使用如下命令在命令行激活环境:

: D: \Webprojects\environments\dj ango2. 0\Scripts\activate

( 4) 使用“ django-admin " 命令创建一个项目:

django-admin startproject demo

( 5 ) 使用压,cham1 打开demo 项目, 查看目录结构,

说明:Dj ango 项目中的文件及说明

manage.py Dj ango 程序执行的入口

db.sqlite3 SQLite 的数据库文件, Dj ango 默认使用这种小型数据库存取数据,非必须

templates Dj ango 生成的HTML 模板文件夹,我们也可以在每个app 中使用模板文件夹

demo Dj ango 生成的和项目同名的配置文件夹

settings. py Dj ango 总的配置文件,可以配置App 、数据库、中间件、模板等诸多选项

urls .py Dj ango 默认的路由配置文件

wsg1.py Dj ango 实现的WSGI 接口的文件, 用来处理Web 请求

启动django

在pychann 中单击运行项目, 或者在虚拟环境命令行中执行以下命令运行项目:

python manage.py runserver

创建APP

在Dj ango 项目中,推荐使用App 来完成不同模块的任务, 通过执行如下命令可以启用一个应用

程序。

python manage. py startapp

此时,在项目的根目录下可以看到一个名称为的目录

数据模型( models.py)

(1) 在App 中添加数据模型 详情见models.py 中的代码 ,说明如下:

执行数据库迁移

创建完数据模型后, 开始做数据库迁移,用Djai1go 默认自带的SQLite 数据库。在项目的settings.py 配置文件中找到如下的配置:

python manage . py makemigrations # 生成迁移文件

python manage . py migrate # 迁移数据库, 创建新表

路由(urls.py)-----详细见urls.py代码文件

URL路由流程:

(1)Django 查找全局urlpattems 变量(urls.py) 。

(2)按照先后顺序,对URL 逐一匹配urlpattems 每个元素。

(3)找到第一个匹配时停止查找, 根据匹配结果执行对应的处理函数。

(4)如果没有找到匹配或出现异常, Django 进行错误处理。

Django 模板

django 指定的模板引擎在settings.py 文件中定义:

TEMPLATES = [{

# 模板引擎,默认为Django模板

0BACKEND0: 'django. template. backends. django. DjangoTemplates' ,

,DIRS' : [] J # 模板所在的目录

'APP DIRS' : True, #是否启用AP P 目录

OPTIONS' : {

},

},

MySQL是一个开源的关系型数据库管理系统,由瑞典MySQL AB公司1995年开发,迅速成为最流行的开源关系型数据库管理系统。在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。2008被Sun公司10亿美金收购,2009年Sun被Oracle收购。MariaDB应运而生。(MySQL的创造者担心MysQL有闭源的风险,因此创建了MySQL的分支项目MariaDB)MySQL6.x版本之后分为社区版和商业版(付费,功能更强大)。MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL是可以定制的,采用了GPL(GNU General Public License)协议,你可以修改源码来开发自己的MySQL系统。MySQL支持大型的数据库,可以处理拥有上千万条记录的大型数据库。支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。MySQL使用标准的SQL数据语言形式。MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 。

猜你喜欢

转载自blog.csdn.net/2201_75772776/article/details/129229137