Djange搭建爬虫系统
Django是一个开放源代码的 Web 应用框架,由 Python 写成。许多成功的项目都使用了这个框架,采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)。使用这个框架能够高效快捷的开发出这个系统。
前言
我们将在下面与大家分享如何搭建起一个django项目,以及编写招聘网站爬虫系统以及爬虫数据分析功能和下载数据。
一、如何安装django?
第一种方式:通过pip安装
$ python -m pip install Django 1
第二种方式:
yum install python-setuptools easy_install django 12
检验是否安装成功
[root@solar django]# python Python 3.7.4 (default, May 15 2014, 14:49:08) [GCC 4.8.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import django >>> django.VERSION (3, 0, 6, 'final', 0) 1234567
安装完毕!
二、建构项目
1.创建项目
$ django-admin startproject mysite 1
如果django-admin不起作用,可以参阅:https://docs.djangoproject.com/en/3.1/faq/troubleshooting/#troubleshooting-django-admin
项目如下(示例):
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
123456789
2.创建爬虫应用程序
现在,您的环境(一个“项目”)已设置好,您就可以开始工作了。
您在Django中编写的每个应用程序都包含一个遵循特定约定的Python包。Django附带了一个实用程序,该实用程序会自动生成应用程序的基本目录结构,因此您可以专注于编写代码,而不是创建目录。
$ python manage.py startapp polls 1
代码如下(示例):
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
123456789
到这一步我们的目录的就已经创建完毕了。
进入到mysite目录:
我们尝试运行一下:python manage.py runserver 0.0.0.0:8000
效果如下:

看见有这个页面,安装大功告成
补充:
把数据库改成mysql数据库。
修改setting文件即可:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'NAME': 'movie',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': 'root',
}
}
1234567891011
运行命令:
python manage.py migrate
这个时候就可以自动生成项目所需要的mysql数据表和数据字段。
3.安装自带的后台管理系统
在mysite里面的url文件改成以下。

创建超级管理员命令
$ python manage.py createsuperuser 1
创建超级密码
Username: admin 1
最后一步是输入密码。你会被要求输入两次密码,第二次的目的是为了确认第一次输入的确实是你想要的密码。
Password: ********** Password (again): ********* Superuser created successfully. 123
启动:
进入到mysite目录,运行
$ python manage.py runserver 1
4、打开浏览器,转到你本地域名的 “/admin/” 目录, – 比如 “http://127.0.0.1:8000/admin/” 。你应该会看见管理员登录界面:

我们安装一下:
pip install django-simpleui 1

完成搭建工作,刷新一下页面,一个全新的后台系统就呈现在我们的面前了,如下图所示:

至此,项目骨架就已经搭建完成。
4.搭建自定义的应用模块
1、运行命令:
python manage.py startapp polls 1
这个时候你就可以看见poll模块已经在我们的目录里面生成的了。
2、建立相关的表模型:
model.py
from django.db import models
# Create your models here.
# models.py
from django.db import models
class Test(models.Model):
name = models.CharField(max_length=20)
class Category(models.Model):
# id = models.CharField(u'实例ID', max_length=32, blank=False, primary_key=True)
name = models.CharField(u'岗位', max_length=50)
add_time= models.CharField(u'添加时间', max_length=50)
class Meta:
verbose_name = '职位分类'
verbose_name_plural = verbose_name
def __str__(self):
return self.name
class Record(models.Model):
# id = models.CharField(u'实例ID', max_length=32, blank=False, primary_key=True)
record_name=models.CharField(u'记录名称', max_length=50)
date=models.CharField(u'记录日期', max_length=50)
recruit_type=models.CharField(u'记录类型', max_length=50)
class Meta:
verbose_name = '爬取记录'
verbose_name_plural = verbose_name
def __str__(self):
return self.date
class Liepin(models.Model):
# id = models.CharField(u'实例ID', max_length=32, blank=False, primary_key=True)
work=models.CharField(u'岗位',max_length=50)
edu=models.CharField(u'教育背景',max_length=50)
district=models.CharField(u'地区',max_length=50)
compensation=models.CharField(u'薪酬',max_length=50)
company=models.CharField(u'公司',max_length=50)
year = models.CharField(u'工作年限', max_length=50)
create_time = models.CharField(u'创建时间', max_length=50)
work_type = models.ForeignKey(Category, on_delete=models.CASCADE,verbose_name='分类')
record = models.ForeignKey(Record, on_delete=models.CASCADE, verbose_name='记录')
salary = models.CharField(u'收入后一位', max_length=10)
class Meta:
verbose_name = '猎聘数据'
verbose_name_plural = verbose_name
class Qiancheng(models.Model):
# id = models.CharField(u'实例ID', max_length=32, blank=False, primary_key=True)
work = models.CharField(u'岗位', max_length=50)
edu = models.CharField(u'教育背景', max_length=50)
district = models.CharField(u'地区', max_length=50)
compensation = models.CharField(u'薪酬', max_length=50)
company = models.CharField(u'公司', max_length=50)
year = models.CharField(u'工作年限', max_length=50)
create_time = models.CharField(u'创建时间', max_length=50)
work_type = models.ForeignKey(Category, on_delete=mo

本文详细介绍了如何利用Python的Django框架搭建一个招聘网站爬虫系统,包括项目创建、安装、数据库配置、后台管理系统搭建以及爬虫脚本的编写。通过此系统,可以高效地抓取和分析各大招聘网站的数据。
最低0.47元/天 解锁文章
2429





