美文网首页
Scrapy数据写入数据库(MySQL等)超简单写法

Scrapy数据写入数据库(MySQL等)超简单写法

作者: lemonxug | 来源:发表于2020-02-22 15:40 被阅读0次

    网上看了很多写入数据库的Pipeline写法,一般都要自己写SQL,另外,如果一个工程里有多个spider还要分别处理。我试了一下用sqlalchemypandas两个常用的库写,只要两行代码,非常简单!开始爬取数据时,会直接使用spider的name创建数据表写入数据。

    下面是我写的一个例子:

    from sqlalchemy import create_engine
    import pandas as pd
    
    class CarpricespiderPipeline(object):
    
        def __init__(self):
            # pip install pymysql
            # pip install mysqlclient 未安装会报错
            self.engine = create_engine('mysql://root:root@localhost:3306/carprice?charset=utf8', echo=False)
    
        def process_item(self, item, spider):
            # 用pandas读取item
            df = pd.DataFrame([item,])
            # 使用DataFrame的to_sql方法
            df.to_sql(name=spider.name, con=self.engine, if_exists='append', index=None)
            return item
    

    相关文章

      网友评论

          本文标题:Scrapy数据写入数据库(MySQL等)超简单写法

          本文链接:https://www.haomeiwen.com/subject/demlqhtx.html