Scrapy 경 동 상품 캡 처,콩짜개 영화 및 코드 공유
4433 단어 Scrapy
Scrapy 는 사이트 데 이 터 를 기어 올 라 구조 적 데 이 터 를 추출 하기 위해 작 성 된 응용 프레임 워 크 입 니 다.데이터 발굴,정보 처리,역사 데이터 저장 등 일련의 프로그램 에 응용 할 수 있다.처음에는 페이지 캡 처(더 정확히 말 하면 네트워크 캡 처)를 위해 디자인 되 었 으 며 API 가 되 돌아 오 는 데이터(예 를 들 어 웹 서비스)나 통용 되 는 네트워크 파충류 도 얻 을 수 있 습 니 다.
Scrapy 도 높 은 등급 의 파충류 구 조 를 실현 하 는 데 도움 을 줄 수 있다.예 를 들 어 기어 오 를 때의 사이트 인증,내용 의 분석 처리,중복 캡 처,분포 식 기어 오 르 기 등 복잡 한 일 을 할 수 있다.
Scrapy 는 주로 다음 구성 요 소 를 포함 합 니 다.
1.우선,엔진 은 스케줄 러 에서 링크(URL)를 꺼 내 다음 캡 처 에 사용 합 니 다.
2.엔진 은 URL 을 요청(Request)으로 봉 하여 다운로드 기 에 전달 하고,다운로드 기 는 자원 을 다운로드 하여 응답 패키지(Response)로 봉 합 니 다.
3.그리고 파충류 해석 응답
4.실체(Item)를 분석 하면 실체 관 로 를 통 해 진일보 한 처 리 를 한다.
5.링크(URL)를 분석 한 경우,URL 을 Scheduler 에 게 넘 겨 캡 처 를 기다 리 도록 합 니 다.
2.scrapy 설치
가상 환경 설치:
sudo pip install virtualenv\#가상 환경 도구 설치
virtualenv ENV\#가상 환경 디 렉 터 리 만 들 기
source./ENV/bin/active\#가상 환경 활성화
pip install Scrapy\#설치 성공 여 부 를 검증 합 니 다.
pip list\#설치 검증
다음 테스트 를 할 수 있 습 니 다:
scrapy bench
3.scrapy 사용캡 처 하기 전에 Scrapy 프로젝트 를 새로 만들어 야 합 니 다.코드 를 저장 할 디 렉 터 리 에 들 어가 서 실행 하 십시오.
$ scrapy startproject tutorial
이 명령 은 현재 디 렉 터 리 아래 에 새 디 렉 터 리 tutorial 을 만 듭 니 다.구 조 는 다음 과 같 습 니 다.
|____scrapy.cfg
|____tutorial
| |______init__.py
| |______init__.pyc
| |____items.py
| |____items.pyc
| |____pipelines.py
| |____settings.py
| |____settings.pyc
| |____spiders
| | |______init__.py
| | |______init__.pyc
| | |____example.py
| | |____example.pyc
이 파일 들 은 주로:
scrapy.cfg:프로젝트 프로필
tutorial/:프로젝트 python 모듈,이후 코드 를 추가 합 니 다.
tutorial/items.py:프로젝트 항목 파일
tutorial/ipelines.py:프로젝트 파이프 파일
tutorial/settings.py:프로젝트 프로필
tutorial/spiders:spider 디 렉 터 리 설치
3.1.항목 정의
items 는 캡 처 한 데 이 터 를 불 러 올 용기 입 니 다.python 의 사전 과 같은 작업 방식 이지 만 정의 되 지 않 은 필드 를 채 워 맞 춤 법 오 류 를 방지 하기 위해 scrapy.item 류 를 만 들 고 scrapy.Field 의 클래스 속성 으로 정의 하여 아 이 템 을 표시 합 니 다.필요 한 item 을 모델 화 합 니 다.tutorial 디 렉 터 리 에 있 는 items.py 파일 에서 편집 합 니 다.
3.2.Spider 작성
Spider 는 사용자 가 작성 한 클래스 로 도 메 인(또는 도 메 인 그룹)에서 정 보 를 캡 처 하 는 데 사 용 됩 니 다.다운로드 할 URL 의 초기 목록,링크 를 추적 하 는 방법,그리고 이 웹 페이지 의 내용 을 분석 하여 items 를 추출 하 는 방법 을 정의 합 니 다.
하나의 Spider 를 만 들 고 scrapy.Spider 기본 클래스 를 계승 하 며 세 가지 주요 하고 강제 적 인 속성 을 확인 합 니 다.
name:파충류 의 식별 명 은 유일 해 야 합 니 다.서로 다른 파충류 에서 서로 다른 이름 을 정의 해 야 합 니 다.
start_urls:Spider 가 시작 할 때 기어 오 르 는 url 목록 을 포함 합 니 다.따라서 첫 번 째 로 가 져 온 페이지 는 그 중 하나 가 될 것 이다.후속 URL 은 초기 URL 에서 가 져 온 데이터 에서 추출 합 니 다.우 리 는 정규 표현 식 정의 와 필 터 를 이용 하여 따라 가 야 할 링크 를 사용 할 수 있 습 니 다.
parse():spider 의 한 방법 입 니 다.호출 될 때 모든 초기 URL 이 다운로드 가 완 료 된 후 생 성 된 Response 대상 은 이 함수 에 유일한 매개 변수 로 전 달 됩 니 다.이 방법 은 되 돌아 오 는 데이터(response data)를 분석 하고 데이터 추출(item 생 성)및 더 처리 해 야 할 URL 을 생 성 하 는 Request 대상 을 책임 집 니 다.
이 방법 은 되 돌아 오 는 데 이 터 를 분석 하고 캡 처 한 데이터 와 일치 하 며 더 많은 URL 을 추적 합 니 다.
/tutorial/tutorial/spiders 디 렉 터 리 에 만 들 기
example.py
3.3.기어 오 르 기
프로젝트 루트 디 렉 터 리 에 가서 명령 을 실행 합 니 다.
$ scrapy crawl example
전체 코드 참조:https://github.com/AlexanLee/Spider그 중에서 제목 에서 경 동과 콩잎 을 잡 는 방법 이 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AWS lambda+scrapy로 정기적으로 서버리스 스크래핑 1.8먼저 결론을 쓰면 Lambda에서 움직이는 곳까지 갈 수 없었습니다. 다른 방법의 대처는 있으므로, 그쪽이 잘 되면 추기, 혹은 다른 기사로서 들려고 생각합니다. 이번에는 작성한 weather_spider.py를 A...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.