码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Scrapy第七篇:数据存储(ORM框架采用peewee)


    1.构建数据模型:编辑items.py

    2.传入数据:yield AnnouncementItem(...) 

    3.开启管道:修改settings.py 

    4.断点pipelines.py,确保管道是能够接收到数据 。

    5. 将管道数据存储到mysql(sqlite3参考:python的ORM框架peewee的使用操作Sqlite和mysql_苍穹之跃的博客-CSDN博客_peewee sqlite)

    ①安装pymysql和peewee库

    1. pip install peewee
    2. pip install pymysql

    ②在pipelines.py同级目录下新建db.py,新建数据库连接和数据库模型,内容如下:

    1. from peewee import *
    2. db_mysql = MySQLDatabase('fast_generator', user='root', password='123456', host='localhost', port=3306)
    3. class Announcement(Model):
    4. # 标题
    5. title = TextField()
    6. # 内容
    7. content = TextField()
    8. # 发布日期
    9. release_date = DateTimeField()
    10. # 浏览次数
    11. read_times = IntegerField()
    12. # 所属页码
    13. belong_page = TextField()
    14. # 附件,多个分号隔开
    15. enclosure = TextField()
    16. url = TextField()
    17. class Meta:
    18. database = db_mysql

    ③管道数据存储数据库

    1. from announcement.db import Announcement
    2. class AnnouncementPipeline:
    3. def process_item(self, item, spider):
    4. # 保存到数据库
    5. announcement = Announcement(title=item['title'],
    6. content=item['content'],
    7. release_date=item['release_date'],
    8. belong_page=item['belong_page'],
    9. read_times=item['read_times'],
    10. enclosure=item['enclosure'],
    11. url=item['url'])
    12. announcement.save()
    13. # 一定要return出去,否则一下个管道将接收不到数据。
    14. return item

  • 相关阅读:
    Sequences | lazy
    使用两个例子玩转NoSQL
    RHCA之路---EX280(6)
    Mydb数据库问题
    将vue2组件发布成一个npm包
    千亿级数字藏品市场百家争鸣 “ MeTa数”开启NFT数藏应用新纪元
    爆火的治愈系插画工具又来了,额度居然有18w,根本花不完?
    Spring注入集合
    用node写后端环境运行时报错Port 3000 is already in use
    基于JavaWEB+MySQL的学生成绩综合管理系统
  • 原文地址:https://blog.csdn.net/wenxingchen/article/details/126343247
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号