scrapy Pipline保存到数据库

使用 Scrapy_爬虫将数据 _保存_到 _数据库_的一般步骤如下: 1. 创建一个 _数据库(例如My SQL)和表来存储数据。 2. 在 Scrapy_项目中添加 _数据库_驱动和连接设置。 3. 在 _Scrapy_项目中定义Item对象以 _保存_爬取的数据。 4. 在 _Scrapy_项目中编写 _Pip_e _line_以处理Item对象,将其 _保存_到 _数据库_中。 下面是一个简单的示例,将 _Scrapy_爬虫数据 _保存_到My _SQL 数据库_中: 1. 创建 _数据库_和表 在My _SQL_中创建一个名为”my _data_base”的 _数据库,并创建一个名为”mytable”的表,该表包括以下列:id、title、author和content。 CREATE _DATA_BASE my _data_base; USE my _data_base; CREATE TABLE mytable ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, author VARCHAR(255) NOT NULL, content TEXT NOT NULL ); 2. 添加 数据库_驱动和连接设置 在 _Scrapy_项目中的settings.py文件中添加My _SQL_驱动和连接设置: # settings.py ITEM_ _PIP_E _LINE_S = { 'myproject. _pip_e _line_s.My _SQL_ _Pip_e _line_': 300, } MY _SQL__HOST = 'localhost' MY _SQL__DBNAME = 'my _data_base' MY _SQL__USER = 'root' MY _SQL__PASSWORD = 'mypassword' 3. 定义Item对象 在 _Scrapy_项目中的items.py文件中定义Item对象: # items.py import _scrapy_ class MyItem(_scrapy_.Item): title = _scrapy_.Field() author = _scrapy_.Field() content = _scrapy_.Field() 4. 编写 _Pip_e _lineScrapy_项目中的 _pip_e _line_s.py文件中编写My _SQL Pip_e _line# _pip_e _line_s.py import my _sql_.connector class My _SQL_ _Pip_e _line_(object): def __init__(self, host, dbname, user, password): self.host = host self.dbname = dbname self.user = user self.password = password @classmethod def from_crawler(cls, crawler): return cls( host=crawler.settings.get('MY _SQL__HOST'), dbname=crawler.settings.get('MY _SQL__DBNAME'), user=crawler.settings.get('MY _SQL__USER'), password=crawler.settings.get('MY _SQL__PASSWORD') ) def open_spider(self, spider): self.connection = my _sql_.connector.connect( host=self.host, dbname=self.dbname, user=self.user, password=self.password ) self.cursor = self.connection.cursor() def close_spider(self, spider): self.connection.commit() self.connection.close() def process_item(self, item, spider): self.cursor.execute('INSERT INTO mytable (title, author, content) VALUES (%s, %s, %s)', (item['title'], item['author'], item['content'])) return item 在这个例子中,My SQL Pip_e _line_连接到My _SQL 数据库_并将爬取的数据 _保存_到”mytable”表中。 确保在 _Scrapy_项目的主文件中启用My _SQL Pip_e _line# main.py from _scrapy_.crawler import CrawlerProcess from _scrapy_.utils.project import get_project_settings from myproject.spiders.myspider import MySpider process = CrawlerProcess(get_project_settings()) process.crawl(MySpider) process.start() 当您运行 Scrapy_爬虫时,数据将被爬取并 _保存_到My _SQL _数据库_中。

Original: https://blog.csdn.net/DN_XIAOXIAO/article/details/120816801
Author: DN_XIAOXIAO
Title: scrapy Pipline保存到数据库

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/791988/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球