Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

ScrapingHub에 Scrapy 스파이더 배포

<시간/>

스크레이피 스파이더

Scrapy spider는 웹사이트의 링크를 따라가서 웹페이지에서 정보를 추출하는 기능을 제공하는 클래스입니다.

다른 스파이더가 상속해야 하는 기본 클래스입니다.

스크레이핑 허브

Scrapinghub는 Scrapy 스파이더를 실행하는 오픈 소스 응용 프로그램입니다. Scrapinghub는 웹 콘텐츠를 유용한 데이터 또는 정보로 바꿉니다. 복잡한 웹 페이지의 경우에도 웹 페이지에서 데이터를 추출할 수 있습니다.

우리는 scrapinghub를 사용하여 클라우드에 scrapy spider를 배포하고 실행할 것입니다.

Scrapinghub에 스파이더를 배포하는 단계 -

1단계 -

하나의 스크래피 프로젝트 만들기 -

scrapy를 설치한 후 터미널에서 다음 명령을 실행하십시오 -

$scrapy startproject <project_name>

디렉터리를 새 프로젝트(project_name)로 변경합니다.

2단계 -

대상 웹사이트에 대해 하나의 scrapy spider를 작성하고 일반적인 웹사이트 "quotes.toscrape.com"을 사용하겠습니다.

아래는 저의 아주 간단한 스크래피 거미입니다 -

코드 -

#import scrapy library
import scrapy

class AllSpider(scrapy.Spider):

crawled = set()
#Spider name
name = 'all'
#starting url
start_urls = ['https://www.tutorialspoint.com/']

def __init__(self):
   self.links = []

def parse(self, response):
   self.links.append(response.url)
   for href in response.css('a::attr(href)'):
      yield response.follow(href, self.parse)

3단계 -

귀하의 스파이더를 실행하고 귀하의 링크들.json 파일에 출력을 저장하십시오 -

위의 코드를 실행한 후 모든 링크를 긁어내서 links.json 파일에 저장할 수 있습니다. 이것은 긴 과정은 아니지만 24시간 연중무휴로 계속 실행하려면 Scrapinghub에 이 스파이더를 배포해야 합니다.

4단계 -

Scrapinghub에서 계정 만들기

이를 위해서는 Gmail 계정 또는 Github를 사용하여 ScrapingHub 로그인 페이지에 로그인하기만 하면 됩니다. 대시보드로 리디렉션됩니다.

ScrapingHub에 Scrapy 스파이더 배포

이제 프로젝트 생성을 클릭하고 프로젝트 이름을 언급하십시오. 이제 명령줄(CLI)을 사용하거나 github를 통해 프로젝트를 클라우드에 추가할 수 있습니다. 다음으로 shub CLI를 통해 코드를 배포하고 먼저 shub를 설치합니다.

$pip install shub

shub 설치 후 계정 생성 시 생성된 api 키를 사용하여 shub 계정에 로그인합니다(https://app.scrapinghub.com/account/apikey에서 API 키 입력).

$shub login

API 키가 정상이면 지금 로그인한 것입니다. 이제 "코드 배포" 섹션(6자리 숫자)의 명령줄 섹션에 표시되는 배포 ID를 사용하여 배포해야 합니다.

$ shub deploy deploy_id

그것이 명령줄에서 끝났습니다. 이제 다시 Spiders 대시보드 섹션으로 이동하면 사용자는 준비된 스파이더를 볼 수 있습니다. 스파이더 이름과 실행 버튼을 클릭하기만 하면 됩니다. 이제 대시보드에서 −

와 같은 스파이더를 볼 수 있습니다.

ScrapingHub에 Scrapy 스파이더 배포

클릭 한 번으로 진행 상황이 표시되며 로컬 시스템을 연중무휴로 실행할 필요가 없습니다.