住房分析系统开发
一、数据爬取
1、爬取的核心代码
1)提前安装好所需库
#安装的库 requests configparser==5.0.1 mysql-connector==2.2.9 numpy==1.19.4 pandas==1.1.4 PyMySQL==0.10.1 #缺什么 pip install
2)爬取源码
第一步
#getHtml函数 def getHtml(url): HEADERS = { 'User-Agent': 'User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'} HEADERS = {'User-Agent': 'User-Agent:Mozilla/5.0'} req = urllib.request.Request(url, headers=HEADERS) page = urllib.request.urlopen(req) # urllib.urlopen()方法用于打开一个URL地址 html = page.read() # read()方法用于读取URL上的数据 return html.decode('UTF-8').replace(u'\xa9', u'').replace("'", "").replace("\r\n", "").replace("\n", "") # 汉字转换及正则匹配无法对换行进行处理及去掉单引号
第二步
#通过getHtml函数获取网页源码,随后,调用save函数保存源码所需的数据 lianjia1=getHtml('''https://xa.fang.lianjia.com/loupan/changan7/ap5nht1/#changan7''') lianjia_htmls = [lianjia1] for lianjia_html in lianjia_htmls: save.lianjia_save(lianjia_html)
第三步
# save函数 def lianjia_save(self, html): lianjia = LianjiaParser() #初始化对象 houseName, villageName, houseNote, houseTotlePrice, houseUnitPrice, houseLink, houseImg = lianjia.feed(html) #接受feed函数分析并爬取出来的的值 self._saveData('链家', houseName, villageName, houseNote, houseTotlePrice, houseUnitPrice, houseLink, houseImg) #保存值到数据库中
2、数据爬取结果
二、django后端开发
1、django框架demo搭建
1)安装虚拟环境
#安装虚拟环境 python -m venv env #激活虚拟环境 .\env\Scripts\activate #退出虚拟环境 deactivate #安装所需要的包 pip install -r requirements.txt #导出所需要的包 pip freeze requirement.txt #安装单个包 pip install 软件名==版本号
2)创建django项目
#创建django项目 django-admin startproject analyse #启动django项目 python manage.py runserver 127.0.0.1:8000
3)创建新的app
#创建删除app python manage.py startapp [app] #注册app 在项目的setting.py文件中,INSTALLED_APPS节点下,新增注册语句
4)django连接Mysql数据库
1、安装pymysql包 # 2、在项目同名包下的_init_.py里面添加 import pymysql pymysql.install_as_MySQLdb() # 3、在settings.py文件中,把DATABASES中的内容换掉 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql',#数据库的类型 'NAME': '', #所使用的的数据库的名字 'USER': 'root', #数据库服务器的用户 'PASSWORD': '', #密码 'HOST': '127.0.0.1', #主机 'PORT': '3306', #端口 } } # 4、执行迁移,将项目中原有的应用的模型同步迁移到数据库 python manage.py migrate # 5、自己在models.py写好数据模型,并通过下面命令生成迁移文件 python manage.py makemigrations test(test是应用名) # 随后再通过 python manage.py migrate 生成到数据库中 #
2、开发demo
搭建了一个简单的django的增删改查 大概步骤如下
1)配置路由(为了后面可以渲染html)
先创建一个自己的应用
python manage.py startapp test
在这个的urls文件内
from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('test/', include('test.urls')) ]
2)配置应用子路由
在创建的app的urls文件内,仿照着这个格式。view就是自己在views文件里写的view函数
from django.urls import path,include from . import views urlpatterns = [ path('', views.testIndex_view, name = 'testIndex'), ]
3)创建模板和html
第一步在settings.py修改template文件的位置
第二步,注册app
第三步,把html文件放在templates文件夹下
4)创建view
举例说明
from django.http import HttpResponse from diango.shortcuts import render def testIndex_view(request): return render(request,'test_index.html')