这两天上班接手,别人留下来的爬虫发现一个很好玩的 SQL脚本拼接。
只要你的Scrapy Field字段名字和 数据库字段的名字 一样。那么恭喜你你就可以拷贝这段SQL拼接脚本。进行MySQL入库处理。
具体拼接代码如下:
def process_item(self, item, spider):
if isinstance(item, WhoscoredNewItem):
table_name = item.pop('table_name')
col_str = ''
row_str = ''
for key in item.keys():
col_str = col_str + " " + key + ","
row_str = "{}'{}',".format(row_str, item[key] if "'" not in item[key] else item[key].replace("'", "\\'"))
sql = "insert INTO {} ({}) VALUES ({}) ON DUPLICATE KEY UPDATE ".format(table_name, col_str[1:-1], row_str[:-1])
for (key, value) in six.iteritems(item):
sql += "{} = '{}', ".format(key, value if "'" not in value else value.replace("'", "\\'"))
sql = sql[:-2]
self.cursor.execute(sql) #执行SQL
self.cnx.commit()# 写入操作
这个SQL拼接实现了,如果数据库存在相同数据则 更新,不存在则插入 的SQL语句
具体实现就是第一个for循环,获取key作为MySQL字段名字、VALUES做为SQL的VALUES(拼接成一个插入的SQL语句)
第二个for循环,实现了 字段名 = VALUES的拼接。
和第一个for循环的中的sql就组成了 insert into XXXXX on duplicate key update 这个。存在则更新 不存在则插入的SQL语句。
我只能所 6666666666 写这个拼接的小哥儿有想法。还挺通用。
不知道你们有没有想到这种方法 反正我是没想到。
分享到:
相关推荐
python库。 资源全名:nimbus_scrapy-3.1.4-py2.py3-none-any.whl
本文将深入探讨一个基于Python的开源爬虫框架——Scrapy,以及如何利用它来构建爬虫项目,将抓取的数据存储到MySQL数据库或文件中。Scrapy是一个强大的、高效的爬虫框架,广泛应用于网页数据抓取和信息提取。 ### ...
【Python开源爬虫框架:Scrapy架构分析】 Python开源爬虫框架Scrapy是一个高效且灵活的Web抓取和数据提取工具,适用于各种用途,包括数据挖掘、监测和自动化测试。Scrapy采用Python语言编写,利用Twisted异步网络库...
Scrapy-Redis是一个基于Scrapy的分布式爬虫框架,它扩展了Scrapy的功能,使其能够处理大规模的网络抓取任务。Scrapy是一个流行的Python爬虫框架,而Scrapy-Redis则是将其与Redis数据库结合,利用Redis作为数据队列,...
Scrapy框架需要安装的库 Scrapy-1.6.0-py2.py3-none-any.whl 和Twisted-18.9.0-cp37-cp37m-win_amd64.whl
scrapy_redis-0.6.8-py2.py3-none-any.whl 使用方式 pip install xx.whl 即可
Scrapy-2.3.0-py2.py3-none-any.whl 安装Scrapy所需要的资源,安装命令:pip target 本地资源路径
本项目"scrapy-mysql-master.zip"结合了两者,旨在利用Scrapy爬取大数据,并将其存储到MySQL数据库中,实现数据的有效管理和分析。 首先,要运行这个项目,你需要确保已经安装了Python3环境,因为这是项目的基础。...
资源分类:Python库 所属语言:Python 资源全名:nimbus_scrapy-3.5.5-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Scrapy-1.5.0-py2.py3-none-any.whl可以用,放心xiasssasa
Scrapy是一个强大的Python爬虫框架,专为高效地抓取网页和提取结构化数据而设计。这个名为"docs-scrapy-org-en-1.8.zip"的压缩包包含了Scrapy 1.8版本的官方英文文档,是学习和理解Scrapy框架的重要资源。以下是基于...
scrapy-fake-useragent, 基于伪 User Agent的随机中间件 scrapy-fake-useragent基于伪用户模型的随机 USER-AGENT 中间件。 它基于的使用统计数据( 从一个实际数据库数据库) 获取了 User-Agent 字符串。安装最简单的...
Python常用库,官方原版whl文件,文件下载到本地后, 直接终端 pip install xxx.whl 安装 scrapy需要twisted库支持,先要安装该库
Python3版本第三方库Scrapy的安装包,Scrapy-2.2.0-py3-none-any.whl下载请注意Python版本3
python库。 资源全名:scrapy_rss-0.2.3-py35-none-any.whl
资源分类:Python库 所属语言:Python 资源全名:scrapy-link-filter-0.1.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
scrapy-random-useragent, Scrapy中间件为每个请求设置一个随机的User Agent 随机 USER-AGENT由于你使用默认的USER-AGENT 或者一般的,你的nautilus蜘蛛会被服务器识别和阻塞?使用这里 random_useragent 模块并为每...
资源分类:Python库 所属语言:Python 资源全名:scrapy-doc-zh-2020.9.21.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源来自pypi官网。 资源全名:scrapy_crawlera-1.7.0-py2.py3-none-any.whl