admin管理员组文章数量:1794759
使用pycharm连接sqlserver数据库保存scrapy的数据
目前很多使用scrapy框架的程序员将数据保存在MongoDB、MySql数据库,但是很少又将数据保存到sqlserver数据。
但是难免会有企业是使用的sqlserver数据库保存数据,接下来我们就将scrapy爬虫获取的数据保存到sqlserver数据库可能会遇到的一些问题呵方法整理一下。
能看到这篇文章的人,我想scrapy的基本使用已经没什么问题了,我们就只说pipelines这个模块的保存方法。
既然是使用sqlserver数据库,自然需要先安装完成,我使用的是sqlserver2012,微软官网就能直接下载。(假设你已经安装完成)
在实际爬虫项目的环境中,如果是将数据保存到本地的数据库,安装pymssql模块,命令pip install pymssql。
没装的装好再继续,我这边已经安装完成。
接下来,我们在pipelines.py模块中写一个保存数据的类
class MsSqlPipelineX(object): def __init__(self): self.conn = pymssql.connect(host='localhost',user='sa',password='******',database='Find') self.cursor = self.conn.cursor() def process_item(self,item,spider): try: # sql = 'INSERT INTO dbo.find(user_name,user_url) VALUES (%s,%s)' self.cursor.execute("INSERT INTO dbo.find(user_name,user_url) VALUES (%s,%s)",(item['user_name'],item['user_url'])) self.connmit() except Exception as ex: print(ex) return item你可以提前在数据库中建好表和字段
host指明数据库是本地 user指明当前的用户名 password指明密码 database指明要存入的数据库, 不用指明端口
如果代码出现黄色警报,
self.cursor.execute("INSERT INTO dbo.find(user_name,user_url) VALUES (%s,%s)",(item['user_name'],item['user_url']))表示当前编译器中没有指明数据库,也可认为没有正确连接到数据库。 以下是解决办法: 点击编译器的Database 导入数据库 填写红色框中的信, Database为sqlserver中建立好的数据库名 取消 use.*?的钩 使用用户名/密码登录数据库 点击ok保存 就是这个样子 报红,没关系,我们现在看看数据是否能保存入数据库。 运行代码,数据正常开始获取。 查看数据库的信 可以看到数据已经存到数据库中,说明成功了。
以上,加油吧
本文标签: 数据库数据pycharmsqlserverscrapy
版权声明:本文标题:使用pycharm连接sqlserver数据库保存scrapy的数据 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686656193a91281.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论