`
zhimaruanjian
  • 浏览: 32718 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

芝麻HTTP: Scrapy小技巧

 
阅读更多

这两天上班接手,别人留下来的爬虫发现一个很好玩的 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语句。

 

分享到:
评论

相关推荐

    定向爬虫:Scrapy与Redis入门

    Scrapy和Redis是两个在IT领域中非常重要的工具,它们在数据抓取和处理方面有着广泛的应用。本文将深入探讨如何结合使用Scrapy框架和Redis数据库来构建一个高效的定向爬虫。 Scrapy是一个用Python编写的开源Web爬虫...

    Python程序设计:Scrapy爬虫框架的使用.pptx

    Scrapy爬虫框架 笔趣阁小说抓取 知识点:Scrapy爬虫框架使用 Scrapy爬虫框架使用 scrapy爬虫开发的基本步骤 新建项目 (scrapy startproject xxx):新建一个新的爬虫项目 明确目标 (编写items.py):...小结 谢谢观看

    第八章:scrapy框架_第八章:scrapy框架.zip_

    Requests是Scrapy发出的HTTP请求,而Responses则是服务器返回的HTTP响应。Selectors,通常是基于XPath或CSS的,用于从HTML或XML文档中提取数据。 Scrapy的架构基于组件化设计,允许开发者灵活地扩展和定制功能。它...

    scrapy-pyppeteer:Scrapy的Pyppeteer集成

    未维护如果您需要Scrapy的...要求Python 3.6+ Scrapy 2.0+ 皮皮特0.0.23+安装$ pip install scrapy-pyppeteer配置通过替换默认的http和https下载处理程序: DOWNLOAD_HANDLERS = { "http" : "scrapy_pyppeteer.handler....

    Python爬虫实战:Scrapy豆瓣电影爬取

    通过阅读和理解源代码,可以更好地掌握Scrapy的使用技巧。 总之,使用Scrapy爬取豆瓣电影,需要对HTML结构有清晰的理解,合理地编写爬虫逻辑,利用Scrapy提供的各种组件高效地处理数据。通过实践,我们可以熟练掌握...

    Scrapy爬虫,爬取两个网页

    使用scrapy框架定时爬取两个爬虫,爬取两个网页 定时爬取,爬取欧空局,费米卫星的观测计划。Scrapy是一个快速的、高层次的web爬虫框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy使用了Python语言,并且...

    Python3网络爬虫实战总结:scrapy框架使用、ip代理、打码平台、linux命令、

    Python3网络爬虫实战总结:scrapy框架使用、ip代理、打码平台、linux命令、数据库操_Python-Spider

    scrapy-selenium:Scrapy中间件使用Selenium处理javascript页面

    Scrapy中间件可使用Selenium处理javascript页面。 安装 $ pip install scrapy-selenium 您应该使用python> = 3.6 。 您还将需要一种与Selenium。 配置 添加要使用的浏览器,驱动程序可执行文件的路径,以及将要传递...

    TOP250豆瓣电影短评:Scrapy 爬虫+数据清理分析+构建中文文本情感分析模型 (源代码+文档说明)

    TOP250豆瓣电影短评:Scrapy 爬虫+数据清理/分析+构建中文文本情感分析模型 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分...

    Python开源爬虫框架:Scrapy架构分析-为程序员服务[定义].pdf

    【Python开源爬虫框架:Scrapy架构分析】 Python开源爬虫框架Scrapy是一个高效且灵活的Web抓取和数据提取工具,适用于各种用途,包括数据挖掘、监测和自动化测试。Scrapy采用Python语言编写,利用Twisted异步网络库...

    scrapy 教程

    Scrapy是一个用于爬取网站数据和提取结构性数据的应用框架,编写在Python语言中。它用于抓取网站并从页面中提取结构化数据。Scrapy被用于多种用途,从数据挖掘到监控和自动化测试。 知识点一:Scrapy框架的基本概念...

    Python3网络爬虫案例实战课程 视频+文档+源码

    │ Python3爬虫课程资料代码 │ ├─章节1: 环境配置 ... 课时32:Scrapy分布式原理及Scrapy-Redis源码解析.mp4 课时33:Scrapy分布式架构搭建抓取知乎.mp4 课时34:Scrapy分布式的部署详解.mp4

    TOP250豆瓣电影短评:Scrapy 爬虫+数据清理/分析+构建中文文本情感分析模型

    Scrapy 爬虫 + 数据清理 + 数据分析 + 构建情感分析模型 一、爬取豆瓣Top250的短评数据 movie_item movie_comment movie_people 二、数据清理与特征工程+统计分析 movie_item 总评分最高的前10部电影 最受欢迎的...

    scrapy_properties:scrapy学习

    2. **Request/Response**:Scrapy使用Request对象代表一个待发送的HTTP请求,而Response对象则是收到的HTTP响应。Spider可以发送Request到Scrapy引擎,引擎处理请求并返回Response给Spider。 3. **Item**:Item是...

    课时24:Scrapy命令行详解.rar

    Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战

    课时22:Scrapy框架安装.rar

    Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战

    课时32:Scrapy分布式原理及Scrapy-Redis源码解析.rar

    Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战

    scrapy-redis搭建分布式爬虫环境 - 温良Miner - 博客园1

    Scrapy-Redis分布式爬虫环境搭建 Scrapy-Redis是Scrapy框架的一个插件,用于实现分布式爬虫环境。通过使用Redis作为消息队列,可以实现爬虫节点之间的通信和协作,实现高效的爬虫爬取。 Scrapy-Redis的主要组件...

    课时23:Scrapy框架基本使用.rar

    Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战Python3 爬虫实战

Global site tag (gtag.js) - Google Analytics