찾다

 >  Q&A  >  본문

分布式爬虫 - scrapy-redis 分布式系统?

现在可以从网上下载这些代码,怎么进行部署和运行代码
从github上下载了关于分布式的代码,不知道怎么用,求各位大神指点下。。。
下面是网址
https://github.com/rolando/scrapy-redis
环境已经按照上面的配置好了,但不知道如何实现分布式。
分布式我是这样理解的,有一个redis服务器,从一个网页上获取url种子,并将url种子放到redis服务器了,然后将这些url种子分配给其他机器。中间存在调度方面的问题,以及服务器和机器间的通信。

谢谢。。。

迷茫迷茫2767일 전541

모든 응답(2)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-24 09:13:57

    한두 문장으로 명확하게 설명할 수는 없는 것 같아요.

    이전에 언급한 블로그 게시물이 여러분에게 도움이 되기를 바랍니다.

    개인적인 이해에 대해 말씀드리겠습니다.

    scrapy은 개선된 python 고유의 collection.deque을 사용하여 크롤링할 request을 저장합니다. 어떻게 두 명 이상의 Spiderdeque을 공유할 수 있나요?

    크롤링할 대기열은 공유할 수 없으며 배포도 말도 안 됩니다. scrapy-redis이 솔루션을 제공하고, collection.dequeredis 데이터베이스로 대체하고, 여러 크롤러가 동일한 redis 서버에서 크롤링할 request을 저장하므로 여러 spider가 동일한 Read in으로 이동할 수 있습니다. 데이터베이스화하여 유통의 주요 문제를 해결합니다.

    참고: redisrequest 스토어로 대체하지 않으며, scrapy

    에 직접 배포할 수 있습니다!

    scrapy待爬队列와 직접적으로 관련된 스케줄러 Scheduler입니다.

    scrapy

    구조 참조

    request를 대기열에 추가하고 크롤링할 다음 request을 꺼내는 등의 작업을 담당합니다. 따라서 redis를 교체한 후에는 다른 구성 요소도 변경해야 합니다.

    그래서 제가 개인적으로 이해한 바는 동일한 크롤러를 여러 시스템에 배포하는 것이 상대적으로 간단하다는 것입니다. 분산 배포 redis, 참조 주소
    내 블로그입니다. 그리고 URL 중복 제거를 포함한 이러한 작업은 이미 작성된 scrapy-redis 프레임워크의 기능입니다.

    참조 주소는 여기에서 예시를 다운로드하여 구체적인 구현을 확인할 수 있습니다. 저는 최근 scrapy-redis에도 이 작업을 진행하고 있으며, 배포한 후 이 답변을 업데이트하겠습니다.

    새로운 진행사항이 있으면 공유하고 소통할 수 있습니다.

    회신하다
    0
  • 黄舟

    黄舟2017-04-24 09:13:57

    @伟兴 안녕하세요 11.10.15에 이 댓글을 봤는데 지금 결과가 나오나요?
    당신의 블로그를 추천해주실 수 있나요? 감사합니다~
    chenjian158978@gmail.com으로 연락주세요

    회신하다
    0
  • 취소회신하다