Python 파충류 기초 의 첫 번 째 사용 scrapy 파충류 실례
파충류 초보 자 들 이 파충류 기술 을 훈련 시 키 는 사이트http://quotes.toscrape.com에서 명언 경 구 를 얻 었 다.
프로젝트 생 성
기어 오 르 기 전에 새 Scrapy 프로젝트 를 만들어 야 합 니 다.코드 를 저장 하려 는 디 렉 터 리 에 들 어가 다음 명령 을 실행 하 십시오.
(base) λ scrapy startproject quotes
New scrapy project 'quotes ', using template directory 'd: \anaconda3\lib\site-packages\scrapy\temp1ates\project ', created in:
D:\XXX
You can start your first spider with :
cd quotes
scrapy genspider example example. com
우선 새 파충류 프로젝트 디 렉 터 리,즉/quotes 디 렉 터 리 로 전환 합 니 다.그리고 파충류 파일 을 만 드 는 명령 을 실행 합 니 다:
D:\XXX(master)
(base) λ cd quotes\
D:\XXX\quotes (master)
(base) λ scrapy genspider quotes quotes.com
cannot create a spider with the same name as your project
D :\XXX\quotes (master)
(base) λ scrapy genspider quote quotes.com
created spider 'quote' using template 'basic' in module:quotes.spiders.quote
이 명령 은 다음 내용 을 포함 하 는 quotes 디 렉 터 리 를 만 듭 니 다.robots.txt
robots 프로 토 콜 은 robots.txt(통일 소문 자)라 고도 부 릅 니 다.웹 사이트 루트 디 렉 터 리 에 저 장 된 ASCII 인 코딩 텍스트 파일 입 니 다.인터넷 검색엔진 의 인터넷 거미 에 게 이 사이트 의 어떤 내용 이 검색엔진 의 파충류 에 의 해 가 져 오지 말 아야 하 는 지,어떤 것 이 파충류 에 의 해 가 져 갈 수 있 는 지 알려 줍 니 다.
robots 프로 토 콜 은 규범 이 아니 라 약 속 된 것 입 니 다.
#filename : settings.py
#obey robots.txt rules
ROBOTSTXT__OBEY = False
분석 페이지파충류 프로그램 을 만 들 기 전에 먼저 기어 오 르 는 페이지 를 분석 해 야 합 니 다.주류 브 라 우 저 에는 페이지 를 분석 하 는 도구 나 플러그 인 이 있 습 니 다.크롬 브 라 우 저의 개발 자 도구(Tools→Developer tools)를 사용 하여 페이지 를 분석 합 니 다.
데이터 정보
Chrome 브 라 우 저 에서 페이지http://lquotes.toscrape.com를 열 고'Elements'를 선택 하여 HTML 코드 를 봅 니 다.
모든 라벨 이 감 싸 져 있 는 것 을 볼 수 있다.
거미
페이지 를 분석 한 후 파충 류 를 작성 합 니 다.Scrapy 에서 파충 류 를 만 듭 니 다.scrapy.Spider 에서 코드 를 만 듭 니 다.Spider 는 사용자 가 하나의 사이트(또는 일부 사이트)에서 데 이 터 를 가 져 오 는 데 사용 하 는 클래스 입 니 다.
다운로드 에 사용 되 는 초기 URL,웹 페이지 의 링크 를 따라 가 는 방법,페이지 의 내용 을 분석 하고 아 이 템 을 만 드 는 방법 을 포함 합 니 다.
Spider 를 만 들 기 위해 서 는 scrapy.Spider 클래스 를 계승 하고 다음 세 가지 속성 을 정의 해 야 합 니 다.
import scrapy
class QuoteSpi der(scrapy . Spider):
name ='quote'
allowed_ domains = [' quotes. com ']
start_ urls = ['http://quotes . toscrape . com/']
def parse(self, response) :
pass
다음은 quote 의 실현 에 대해 간단 한 설명 을 하 겠 습 니 다.2.페이지 의 링크 를 추출 하고 링크 페이지 에 대한 다운로드 요청 이 발생 합 니 다.
페이지 분석 함 수 는 보통 생 성기 함수 로 이 루어 집 니 다.페이지 에서 추출 한 데이터 와 링크 페이지 에 대한 다운로드 요청 은 모두 yield 문 구 를 Scrapy 엔진 에 제출 합 니 다.
분석 데이터
import scrapy
def parse(se1f,response) :
quotes = response.css('.quote ')
for quote in quotes:
text = quote.css( '.text: :text ' ).extract_first()
auth = quote.css( '.author : :text ' ).extract_first()
tages = quote.css('.tags a: :text' ).extract()
yield dict(text=text,auth=auth,tages=tages)
중점:/quotes 디 렉 터 리 에서 scrapycrawlquotes 를 실행 하면 파충류 프로젝트 를 실행 할 수 있 습 니 다.
파충 류 를 운행 한 후에 무슨 일이 일 어 났 습 니까?
Scrapy 는 Spider 의 starturl 속성 에 있 는 모든 URL 은 scrapy.Request 대상 을 만 들 고 parse 방법 을 리 셋 함수(callback)로 Request 에 할당 합 니 다.
Request 대상 은 스케줄 링 을 통 해 scrapy.http.Response 대상 을 생 성하 고 spider parse()방법 으로 처리 합 니 다.
코드 가 완 료 된 후,파충 류 를 실행 하여 데 이 터 를 추출 하고,셸 에서 scrapy crawl
(base) λ scrapy craw1 quote -o quotes.csv
2021-06-19 20:48:44 [scrapy.utils.log] INF0: Scrapy 1.8.0 started (bot: quotes)
파충류 가 실 행 될 때 까지 기다 리 면 현재 디 렉 터 리 에 quotes.csv 파일 을 생 성 합 니 다.그 안에 있 는 데 이 터 는 csv 형식 으로 저 장 됩 니 다.-o 다양한 형식 으로 저장 할 수 있 습 니 다.저장 방식 도 매우 간단 합 니 다.파일 의 접미사 이름 만 주면 됩 니 다.(csv,json,pickle 등)
파 이 썬 파충류 기반 의 첫 번 째 스 크 래 피 파충류 인 스 턴 스 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 스 크 래 피 프레임 워 크 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.