实现elasticsearch 和scrapy-redis分布式

本文介绍如何配置Elasticsearch与Kibana的集成环境,包括所需软件版本匹配、开发工具的选择及基本的索引数据模型设计。通过示例展示了如何使用Python的Scrapy框架抓取网页数据并存储至Elasticsearch中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kibana-5.1.2-windows-x86

elasticsearch-rtf

elasticsearch-head

elasticsearch-rtf的版本最好要和kibana接近 具体操作可以从GitHub上查找

使用到npm的话再去下载node.js



在项目中建立一个models文件夹类似django

from datetime import datetime
from elasticsearch_dsl import DocType, Date, Nested, Boolean, \
    analyzer, InnerDoc, Completion, Keyword, Text,Integer
from elasticsearch_dsl.connections import connections
connections.create_connection(hosts=["localhost"])
class jobboleItemsType(DocType):
    title = Text(analyzer="ik_max_word")
    date_time = Date()
    style = Text(analyzer='ik_max_word')
    content = Text(analyzer='ik_max_word')
    cherish = Integer()
    image_url = Keyword()
    img_path = Keyword()

    class Meta:
        index = 'job_bole'
        doc_type = 'article'

if __name__ == '__main__':
    jobboleItemsType.init()

如上将item中对应的设置一下 类似数据库建立表


在对应的item类中

def save_to_es(self):
    article = jobboleItemsType()
    article.title = self['title']
    article.content = self['content']
    article.date_time = self['date_time']
    article.cherish = self['cherish']
    article.image_url = self['image_url']
    # article.img_path = item['img_path']
    article.meta.id = self['id']
    article.save()
    return

在对应的pipeline中调用这个方法,就可以实现将数据存进去了

写完后记得要在settings中注册

分布式-------------------------------------

下载安装好scrapy-redis 

C:\Users\chase\Desktop\scrapy-redis-master\src\scrapy_redis  将这个文件夹放入到项目中之后按照GitHub上给的布置

之后运行下面这两个 修改成自己的名称

  1. run the spider:

    scrapy runspider myspider.py
    
  2. push urls to redis:

    redis-cli lpush myspider:start_urls http://google.com




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值