Scrapy Cloud로 덮어쓴 결과물을 S3에 업로드
개시하다
이전에는 학습목적을 위해 AWS lambda + API Gateway로 우편번호 검색 API 만들기의 우편번호 데이터를
Scrapy
에 도장해 S3
에 올렸다.이번에는
Scrapy Cloud
에 프로젝트 설계를 하고 정기 일정을 집행하기 전에 가장 적합한 요점을 적겠습니다.Scrapy Cloud
에 대해서는 다음 URL을 참조하십시오.전체 워크플로우
전체 워크플로우는 다음 그림과 같습니다.
scrapinghub 디버깅을 하기 전에
창설
scrapy
된 프로젝트부터 scrapinghub
까지 디버깅을 진행하는 절차는 다음과 같다.$ scrapy startproject {your project}
$ scrapy runspider {spider_file.py}
설계 대상
scrapinghub
$ shub deploy
scrapinghub에서 임무를 수행할 때 반한 일
scrapinghub
디버깅을 하기 전에는 순조롭지만 scrapinghub
임무를 수행할 때 몇 가지 헷갈렸다.두 시스템 지원
AWS의 조작은 boto이지만
Scrapy Cloud
에 미리 설치된 것은 boto
(v2)이므로 주의해야 한다.boto3 추가 설치(2016-19 업데이트)
scrapinghub.yml
에서 지정하면requirements_file
필요한 프로그램 라이브러리를 설치할 수 있기 때문에boto3을 사용할 수 있습니다.requirements_file
정상적으로 처리되면 Code & Deploys
의 requirements
에서 추가로 설치된 프로그램 라이브러리를 확인할 수 있습니다.AWS 인증 정보를 가져오는 방법
AWS 인증 정보는
Spider Settings
->Spider settigns
에 다음과 같은 설정 값을 등록합니다.코드는 다음과 같이 접근합니다.
from scrapy.conf import settings
s3 = boto.connect_s3(settings['AWS_ACCESS_KEY_ID'], settings['AWS_SECRET_ACCESS_KEY'])
settings.py
에 설정 값을 기술합니다.단,
~/.aws/credentials
에 인증 정보가 존재하는 경우 설정치를 기술할 필요가 없다.settings.py
AWS_ACCESS_KEY_ID = 'xxxxxx'
AWS_SECRET_ACCESS_KEY = 'xxxxxx'
과제.
S3
에 파일을 올리는 데 너무 느려서 커튼에 20분 정도 걸렸어요.AWS Lambda
측의 API도 최신 데이터를 자동으로 참고하기를 희망합니다S3
에 업로드가 완료되면 레벨 변수를 업데이트하고 싶습니다끝말
시작할 때는 API뿐만 아니라 Scrapy 프로젝트
AWS Lambda
도 시작해야 한다.그러나 소스 코드도 라이브러리에 포함시켜 ZIP 파일로 압축해 업로드해야 했는데, 결과적으로 잘 작동하지 않자 솔직하게
Scrapy Cloud
디버깅을 시도했다.포터클로러 Advent Calendar 2016도 초대를 받았기 때문에 거기서도
Scrapy Cloud
로 어떤bot을 만들어서 기사를 만들고 싶어요.그럼 안녕히 계세요.
Reference
이 문제에 관하여(Scrapy Cloud로 덮어쓴 결과물을 S3에 업로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/imunew/items/0786fd5c9255d4c9a18c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)