手把手带你入门Python爬虫(五、CSDN论坛之模型设计)

一、CSDN论坛分析

论坛主题列表页:
在这里插入图片描述
详情页:
在这里插入图片描述
博主个人详情页:
在这里插入图片描述
我们根据以上页面分析我们需要抓取的数据,然后设计模型。

二、模型设计与数据表设计

from peewee import *

db = MySQLDatabase("py_spider", host="localhost", port=3307, user="root", password="root")


class BaseModel(Model):
    class Meta:
        database = db


class Topic(BaseModel):
    title = CharField()     # 标题
    content = TextField(default="")   # 内容
    id = IntegerField(primary_key=True)     # id
    author = CharField()    # 作者
    create_time = DateTimeField()   # 创建时间
    answer_nums = IntegerField(default=0)   # 回复数量
    click_nums = IntegerField(default=0)    # 查看数量
    parised_nums = IntegerField(default=0)  # 点赞数量
    jtl = FloatField(default=0.0)   # 结帖率
    score = IntegerField(default=0)     # 赏分
    status = CharField()    # 状态


class Answer(BaseModel):
    topic_id = IntegerField()
    author = CharField()
    content = TextField(default="")
    create_time = DateTimeField()
    parised_nums = IntegerField(default=0)  # 点赞数量


class Author(BaseModel):
    name = CharField()
    id = IntegerField(primary_key=True)
    click_nums = IntegerField(default=0)  # 访问数
    original_nums = IntegerField(default=0)    # 原创数
    forward_nums = IntegerField(default=0)  # 转发数
    rate = IntegerField(default=-1)     # 排名
    answer_nums = IntegerField(default=0)   # 评论数
    parised_nums = IntegerField(default=0)  # 获赞数
    desc = TextField(null=True)     # 个人描述签名
    industry = CharField(null=True)     # 行业
    location = CharField(null=True)     # 所在地区
    follower_nums = IntegerField(default=0)     # 粉丝数
    following_nums = IntegerField(default=0)    # 关注数


if __name__ == "__main__":
    db.create_tables([Topic, Answer, Author])

运行后生成的数据表:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优小U

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值