zoukankan      html  css  js  c++  java
  • python scrapy爬虫数据库去重方法

    1. scrapy对request的URL去重
    yield scrapy.Request(url, self.parse, dont_filter=False)
    注意这个参数:dont_filter=False
    2. Jobs: 暂停,恢复爬虫
    启用一个爬虫的持久化,运行以下命令:
    scrapy crawl somespider -s JOBDIR=crawls/somespider-1
    然后,你就能在任何时候安全地停止爬虫(按Ctrl-C或者发送一个信号)。
    恢复这个爬虫也是同样的命令:
    scrapy crawl somespider -s JOBDIR=crawls/somespider-1
    这样爬虫断掉后,再启动会接着上次的 url 跑。
    详细请看 https://www.howtoing.com/scra...
    如果命令行里不想看到那么多输出的话,可以加个 -L WARNING 参数
    运行爬虫如:
    
    
    
    scrapy crawl spider1 -L WARNING
    1、Pipleline 加入如下代码:(在数据爬完后将URL塞入redis去重)
    class RedisInsert(object):    
    def process_item(self,item,spider):
    set_redis_values_1(item['url'])
    return item 2、Middleware加入如下代码:(在爬数据之前查看该URL是否爬取过) class IngoreRequestMiddleware(object):
    def __init__(self):
    self.middlewareLogging=getLogger("IngoreRequestMiddleware")
    def process_request(self,request,spider):
    if get_redis_values_1(request.url):
    self.middlewareLogging.debug("IgnoreRequest : %s" % request.url)
    raise IgnoreRequest("IgnoreRequest : %s" % request.url)
    else:


    self.middlewareLogging.debug("haveRequest : %s" % request.url)
    return None ---------------------
  • 相关阅读:
    tensorflow搭建神经网络基本流程
    为什么Linux 实例执行 df 和 du 查看磁盘时结果不一致
    MySQL高可用架构之MHA
    Postgresql 用户管理
    PXE+Kickstart无人值守安装CentOS 7
    linux shell实用常用命令
    常用压缩命令
    mongodb 备份还原
    mongodb 备份脚本
    mongodb 日志清理
  • 原文地址:https://www.cnblogs.com/duanlinxiao/p/9838542.html
Copyright © 2011-2022 走看看