gpt4 book ai didi

python - Scrapy - 如何抓取网站并将数据存储在 Microsoft SQL Server 数据库中?

转载 作者:行者123 更新时间:2023-12-01 03:07:07 26 4
gpt4 key购买 nike

我正在尝试从我们公司创建的网站中提取内容。我在 MSSQL Server 中为 Scrapy 数据创建了一个表。我还设置了 Scrapy 并配置了 Python 来抓取和提取网页数据。我的问题是,如何将Scrapy爬取的数据导出到我本地的MSSQL Server数据库中?

这是Scrapy用于提取数据的代码:

import scrapy

class QuotesSpider(scrapy.Spider):
name = "quotes"
start_urls = [
'http://quotes.toscrape.com/page/1/',
'http://quotes.toscrape.com/page/2/',
]

def parse(self, response):
for quote in response.css('div.quote'):
yield {
'text': quote.css('span.text::text').extract_first(),
'author': quote.css('small.author::text').extract_first(),
'tags': quote.css('div.tags a.tag::text').extract(),
}

最佳答案

您可以使用pymssql模块将数据发送到SQL Server,如下所示:

import pymssql

class DataPipeline(object):
def __init__(self):
self.conn = pymssql.connect(host='host', user='user', password='passwd', database='db')
self.cursor = self.conn.cursor()

def process_item(self, item, spider):
try:
self.cursor.execute("INSERT INTO MYTABLE(text, author, tags) VALUES (%s, %s, %s)", (item['text'], item['author'], item['tags']))
self.conn.commit()
except pymssql.Error, e:
print ("error")

return item

此外,您还需要将 'spider_name.pipelines.DataPipeline' : 300 添加到设置中的 ITEM_PIPELINES 字典中。

关于python - Scrapy - 如何抓取网站并将数据存储在 Microsoft SQL Server 数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43266482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com