zoukankan      html  css  js  c++  java
  • scrapy配置mysql

    在pipeline.py里面新建一个类

    class mysqlPipeline(object):
        def process_item(self,item,spider):
            '''
            将爬取的信息保存到mysql
            '''
            # 将item里的数据拿出来
            # title = item['title']
            # link = item['link']
            # posttime = item['posttime']
            name = item['name']
            state = item['state']
            author = item['author']
            _type = item['_type']
            update = item['update']
            data_chapter = item['data_chapter']
            # 和本地的newsDB数据库建立连接
            db = pymysql.connect(
                host='localhost',  # 连接的是本地数据库
                user='root',  # 自己的mysql用户名
                passwd='root',  # 自己的密码
                db='test',  # 数据库的名字
                charset='utf8mb4',  # 默认的编码方式:
                cursorclass=pymysql.cursors.DictCursor)
            try:
                # 使用cursor()方法获取操作游标
                cursor = db.cursor()
                # SQL 插入语句
                sql = "INSERT INTO NEWS(name, state, author, _type, update, data_chapter) \
                      VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}')".format(name, state, author, _type, update, data_chapter)
                # 执行SQL语句
                cursor.execute(sql)
                # 提交修改
                db.commit()
            finally:
                # 关闭连接
                db.close()
            return item

    我们需要在Settings.py将我们写好的PIPELINE添加进去

    ITEM_PIPELINES={
        'manhua.pipelines.mysqlPipeline': 100,
    }

    在mysql中创建数据库和表

    # 创建数据库:scrapyDB ,以utf8位编码格式,每条语句以’;‘结尾
    CREATE DATABASE scrapyDB CHARACTER SET 'utf8';
    # 选中刚才创建的表:
    use scrapyDB;
    # 创建我们需要的字段:字段要和我们代码里一一对应,方便我们一会写sql语句
    CREATE TABLE detailed(
        id INT AUTO_INCREMENT,
        name char(24),
        state char(24),
        author char(128),
        _type char(24),
        _update char(24),
        data_chapter char(24),
        PRIMARY KEY(id)
    )ENGINE=InnoDB DEFAULT CHARSET='utf8';

  • 相关阅读:
    ADO.NET 2.调用存储过程
    Resharper上手指南
    获取HTML源码(只取文字,判断编码,过滤标签)
    .net(c#) winform文本框只能输入数字,不能其他非法字符(转)
    ADO.NET – 3.书籍管理系统详解
    GemBox.ExcelLite.dll导出到Excel
    C#4.0图解教程 第7章 类和继承
    C#读取网站HTML内容
    C#回顾 – 1.IO文件操作
    Javascript s10 (Jquery相关手册整合及功能实现)
  • 原文地址:https://www.cnblogs.com/cp9648/p/10413028.html
Copyright © 2011-2022 走看看