Scrapy 是一个用于网络爬虫的 Python 框架,它可以帮助开发者高效地从网站抓取数据。MySQL 是一个流行的关系型数据库管理系统,用于存储和管理数据。将 Scrapy 与 MySQL 结合使用,可以有效地抓取数据并存储到数据库中。
以下是一个简单的 Scrapy 项目示例,展示如何将抓取的数据存储到 MySQL 数据库中。
scrapy startproject myproject
cd myproject
# myproject/spiders/myspider.py
import scrapy
class MySpider(scrapy.Spider):
name = "myspider"
start_urls = ["http://example.com"]
def parse(self, response):
for item in response.css('div.item'):
yield {
'title': item.css('h3.title::text').get(),
'link': item.css('a::attr(href)').get(),
}
# myproject/pipelines.py
import mysql.connector
class MySQLPipeline(object):
def __init__(self):
self.conn = mysql.connector.connect(
host='localhost',
user='your_username',
password='your_password',
database='your_database'
)
self.cursor = self.conn.cursor()
def process_item(self, item, spider):
query = "INSERT INTO items (title, link) VALUES (%s, %s)"
self.cursor.execute(query, (item['title'], item['link']))
self.conn.commit()
return item
def close_spider(self, spider):
self.cursor.close()
self.conn.close()
# myproject/settings.py
ITEM_PIPELINES = {
'myproject.pipelines.MySQLPipeline': 300,
}
通过以上步骤和示例代码,你可以成功地将 Scrapy 抓取的数据存储到 MySQL 数据库中。
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL(PostgreSQL版)训练营
云+社区沙龙online[数据工匠]
Techo Youth2022学年高校公开课
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
腾讯云数据库TDSQL训练营
领取专属 10元无门槛券
手把手带您无忧上云