Scrapy 프레임워크는 Python 기반의 오픈 소스 프레임워크로 주로 웹사이트 데이터를 크롤링하는 데 사용됩니다.
다음에서는 구체적인 코드 예제를 통해 Scrapy 프레임워크를 사용하여 크롤러 개발 효율성을 높이는 방법을 소개합니다.
먼저 Scrapy 프레임워크를 설치해야 합니다.
pip install scrapy
다음으로 새 Scrapy 프로젝트를 만들 수 있습니다.
scrapy startproject myproject
이렇게 하면 전체 Scrapy 프로젝트 기본 구조가 포함된 "myproject"라는 폴더가 현재 디렉터리에 생성됩니다. .
간단한 크롤러를 작성해 보겠습니다. Douban 영화 웹사이트에서 최신 영화의 영화 제목, 등급, 감독 정보를 얻고 싶다고 가정해 보겠습니다. 먼저 새 Spider를 만들어야 합니다.
import scrapy class DoubanSpider(scrapy.Spider): name = "douban" start_urls = [ 'https://movie.douban.com/latest', ] def parse(self, response): for movie in response.xpath('//div[@class="latest"]//li'): yield { 'title': movie.xpath('a/@title').extract_first(), 'rating': movie.xpath('span[@class="subject-rate"]/text()').extract_first(), 'director': movie.xpath('span[@class="subject-cast"]/text()').extract_first(), }
이 Spider에서는 "douban"이라는 Spider를 정의하고 초기 URL을 Douban Movies의 공식 최신 영화 페이지 URL로 지정합니다. Parse 메소드에서는 XPath 선택기를 사용하여 각 영화의 이름, 평점, 감독 정보를 추출하고 Yield를 사용하여 결과를 반환합니다.
다음으로 프로젝트의 settings.py 파일에서 User-Agent 및 요청 지연 설정과 같은 관련 설정을 할 수 있습니다.
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' DOWNLOAD_DELAY = 5
여기에서는 User-Agent를 설정하고 다운로드 지연을 5초로 설정합니다.
마지막으로 명령줄에서 크롤러를 시작하고 결과를 출력할 수 있습니다.
scrapy crawl douban -o movies.json
이렇게 하면 방금 만든 Spider가 시작되고 "movies.json"이라는 파일에 결과가 출력됩니다.
Scrapy 프레임워크를 사용하면 네트워크 연결 및 비동기 요청에 대한 너무 많은 세부 사항을 처리하지 않고도 크롤러를 빠르고 효율적으로 개발할 수 있습니다. Scrapy 프레임워크의 강력한 기능과 사용하기 쉬운 디자인을 통해 우리는 데이터 추출 및 처리에 집중할 수 있으므로 크롤러 개발 효율성이 크게 향상됩니다.
위 내용은 스크래피 프레임워크의 특성을 이해하고 크롤러 개발 효율성을 향상시킵니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!