2014-12-02 3 views
17

나는 Scrapy 웹 스크래핑 프레임 워크를 상당히 광범위하게 사용했지만, 최근에는 pyspider이라는 또 다른 프레임 워크/시스템이 있다는 것을 발견했습니다. github 페이지에 따르면, 이는 신선하고 적극적으로 개발되고 인기가 있습니다.치료는 피셔로 대체 될 수 있습니까?

pyspider의 홈 페이지는 몇 가지가 지원되고 나열 아웃 - 오브 - 박스 :

  • 스크립트 편집기, 작업 모니터, 프로젝트 관리자 및 결과 뷰어

    강력한 UI를

  • 자바 스크립트 페이지가 지원됩니다!

  • 작업의 우선 순위는,

이들은 Scrapy 자체 아무튼 그 일이 정기 간행물, 시도 및 (업데이트 시간 같은) 인덱스 페이지

  • 분산 아키텍처의 연령 표시하여 재 크롤 제공하지만, portia (웹 UI의 경우), scrapyjs (js 페이지의 경우) 및 scrapyd (API를 통한 배포 및 배포)의 도움으로 가능합니다.

    pyspider만으로도 이러한 도구를 모두 대체 할 수 있습니까? 즉, pyspider은 Scrapy에 대한 직접적인 대안입니까? 그렇지 않은 경우 어떤 유스 케이스가 적용됩니까?

    나는 "너무 광범위하다"또는 "의견을 바탕으로 한"라인을 넘지 않기를 바랍니다.

  • +1

    이것은 오피니언 기반 라인에 매우 가깝습니다. 내가 그것을 고려해 볼지 모르겠다. – Amber

    +0

    @Amber 감사, 나는 그것에 대해 걱정했다. 세부 사항을 추가하려고 시도했습니다. (적어도 그것은 [Scrapy를 배우는 가치가 있습니까?] (http://stackoverflow.com/questions/6283271/is-it-worth-learning-scrapy)보다 상세하고 구체적입니다). – alecxe

    +0

    @Amber 아마 내가 여기있을 수있는 최선의 답변을 얻었을 것입니다. Binux는 pyspider 프로젝트의 발명가이자 관리자입니다. 희망이 스레드는 치료와 pyspider 사이의 차이점에 대해 질문 할 사람을위한 출발점이 될 것입니다. – alecxe

    답변

    23

    pyspider와 Scrapy는 웹 스크래핑과 동일한 목적을 가지고 있지만이를 수행하는 것과는 다른 견해를 가지고 있습니다.

    • 거미는 WWW가 죽을 때까지 멈추지 않아야합니다. (정보가 변경되고, 데이터가 웹 사이트에 업데이트하고, 거미 최신 데이터를 긁어 할 수있는 능력과 책임을 가져야한다. pyspider이 URL 데이터베이스, 강력한 스케줄러, @every, age 등이 이유입니다 ..)

    • pyspider는 서비스입니다 프레임 워크 이상. (구성 요소가 격리 된 프로세스로 실행 중이고버전도 서비스로 실행 중이고 파이썬 환경이 필요하지는 않지만 브라우저는 가져 오기 또는 예약에 대한 모든 것이 시작 매개 변수 또는 전역 구성, API가 아닌 API를 통해 스크립트에 의해 제어됩니다. 프로젝트는 pyspider 등으로 관리됩니다.)

    • pyspider는 스파이더 시스템입니다.

    • on_startstart_url
    • token bucket 트래픽 제어 대 대 (모든 구성 요소를 교체 할 수 있습니다, 심지어는 C/C++/Java 또는 더 나은 성능 또는 더 큰 용량을 어떤 언어로 개발) download_delay
    • return json 대대 class Item
    • 메시지 큐
    • 내장 된 URL 데이터베이스 set
    • 지속성 대에서 메모리 대
    • PyQuery + 당신이 내장 된 CSS/XPath는 지원

    사실, 내가 언급하지 않은 대처럼 제 3 패키지 Scrapy의 많은 부분. pyspider는 Scrapy와 정말로 다릅니다.

    하지만, 왜 try it yourself이 아닌가요? pyspider도 fast이며 사용하기 쉬운 API가 있으며 설치하지 않고 사용해 볼 수 있습니다.

    +0

    @Binux : 새로운 웹 스크 레이 핑 도구, 탁월한 작업을보고 싶습니다. 하지만 python3을 사용하지 않으시겠습니까? 파이썬 2는 과거입니다. 그래서 내가 Scriber를 버렸습니다. – Jedi

    +0

    @Jedi 저는 파이썬 2.7에 익숙합니다. 파이썬 2.7은 파이썬 2.7에서 2 년 전 처음 만들어졌습니다. 나는 내가 익숙한 곳에서 시작하여 아키텍처에 중점을두고 싶다. v0.5.0 전에 python 3을 지원할 것입니다. – Binux

    +4

    추천 도구의 저자 인 것 같습니다. 그래도 괜찮지 만 공개 할 때 전체 공개 노트를 추가 할 수 있습니까? – halfer

    관련 문제