传统的使用scrapy爬下来的数据存入mysql,用的是在pipeline里用pymysql存入数据库,
这种方法需要写sql语句,如果item字段数量非常多的 情况下,编写起来会造成很大的麻烦.
我使用的python 库:sqlalchemy来编写,用orm的方式,使代码变得非常简洁,按照数据库
表的字段,编写好自己的类,在settings里面设置好pipeline即可.
# -*- coding: utf-8 -*-
# author:lihansen
from sqlalchemy import create_engine,Column,Integer,String,Table,MetaData
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
class ArticleTemplate():
id = Column(Integer, primary_key=True)#主键自增
sourceName = Column(String(100))
sourceUrl = Column( String(100))
articleUrl = Column( String(100))
articleCategory = Column( String(100))
articleFromName = Column( String(100))
articleFromUrl = Column( String(100))
articleLabel = Column( String(100))
title = Column( String(200))
author = Column( String(100))
publishTime = Column( String(100))
articleContent = Column( String(10000))
imageUrlList = Column( Str