검색결과 리스트
스크래피에 해당되는 글 3건
- 2017.10.17 spider의 종류를 알아보자
- 2017.10.17 Scrapy로 프로젝트 시작하기
- 2017.10.17 Scrapy 소개 및 개요
Spider는 웹 사이트를 통해 링크를 따라 이동하고 페이지에서 정보를 추출하는 방법을 정의하는 클래스입니다.
default spirder는 아래와 같습니다.
class scrape.spiders.Spider 에 위치하며 각각의 부분과 설명들을 밑에 첨부합니다.
name |
spider의 이름 |
allowed_domains |
spider가 크롤링할 도메인들의 목록 |
start_urls |
URL의 목록이고 어디서부터 크롤링할건지, 나중 크롤링을 위한 뿌리가 된다. |
custom_settings |
spider가 동작할때 project wide configuration으로 오버라이드된다. |
crawler |
이 속성은 스파이더 인스턴스가 바인딩 된 크롤러 객체에 연결되는 속성입니다. |
setting | spider의 동작을 위한 세팅들 |
logger |
Python logger가 log 메세지를 보내기위해 사용됩니다. |
from_crawler (crawler,*args,**kwargs) |
spider를 만들 메소드이며 파라미터별 - crawler => 어떤 spider객체가 바인딩 될 것인지. - args(list) => method _init_()에 전달된 인자들입니다. |
start_requests() |
어떤 특정 URL도 명시되지않았고 스크래핑을 위해 스파이더가 열렸을 경우 scrapy는 start_requests()method를 호출합니다. |
make_requests_from_url(url) |
url을 requests로 콘버트할때 사용됨 |
parse(response) |
response를 처리하고 처리된 데이타를 리턴하고 다음 url을 따라갑니다. |
log(message[,level,component]) |
spider logger를 통해 log msg를 보내는 메소드 |
closed(reason) |
spider가 종료될 떄 호출됩니다. |
Spider Arguments
스파이더 인수는 시작 URL을 지정하는 데 사용되며 다음과 같이 -a 옵션과 함께 크롤링 명령을 사용하여 전달됩니다.
scrape crawl first_scrapy -a group = accessories
위 코드는 스파이더가 어떻게 인자를 받는지 보여줍니다.
Generic Spider
Generic Spider를 사용하여 spider를 sub class로 분류할 수 있습니다.
그리고 그들의 목적은 특정 규칙에 기반한 웹사이트의 모든 링크를 타는게 목적입니다.
다음 스파이더에서 사용되는 예제의 경우 다음 필드가있는 프로젝트가 있다고 가정 해 봅시다.
한빛미디어 ) 이것이 자바다. (0) | 2018.04.12 |
---|---|
책 리뷰) 강화학습첫걸음 Feat.한빛미디어 (0) | 2018.03.07 |
Scrapy로 프로젝트 시작하기 (0) | 2017.10.17 |
Scrapy 소개 및 개요 (0) | 2017.10.17 |
이클립스 플러그인, 디펜던시,시스템 오류 시 조치법 :) (0) | 2017.09.27 |
Scrapy 명령 행 도구는 다양한 인수 및 옵션 그룹이있는 다양한 객체에 대한 명령이 포함되어 있고 주로 'Scrapy tool'이라고도하는 Scrapy를 제어하는 데 사용됩니다.
========================
scrapy.cfg - Deploy the configuration file
project_name/ - Name of the project
_init_.py
items.py - It is project's items file
pipelines.py - It is project's pipelines file
settings.py - It is project's settings file
spiders - It is the spiders directory
_init_.py
spider_name.py
. . .
============================
위와 같은 구조를 가지고 있습니다.
scrapy.cfg 파일이 프로젝트 이름과 프로젝트 세팅을 담고있는 프로젝트 root 디렉토리입니다.
예를 들자면,
[settings]
default = [name of the project].settings
[deploy]
#url = http://localhost:6800/
project = [name of the project]
==================================
이렇게 생겼습니다.
Scrapy Tool 사용법
scrapy tool는 밑에 보이는 커맨드와 사용법을 제공하고있습니다.
=============================================================
Scrapy X.Y - no active project
Usage:
scrapy [options] [arguments]
Available commands:
crawl It puts spider (handle the URL) to work for crawling data
fetch It fetches the response from the given URL
=============================================================
프로젝트 생성
scrapy startproject project_name으로 간단히 프로젝트를 생성할 수 있습니다.
앞으로 헷갈리지않도록 scrapy 전용 폴더를 만들어줍시다.
그리고는
scrape start project project_name 명령어를 통해
본견적으로 시작해봅시다.
친절하게 아래에 명령어를 통해 스파이더를 시작할 수 있음! 이라고 해주네요
cd project_name
scrape gen spider example example.com
저는 logan이라고 이름을 지었습니다.
tree해보시면 전반적 구조가 보이실거에요.
중간에 궁금하신게 있으시다면
scrape -h 명령어를 통해 확인가능합니다.
책 리뷰) 강화학습첫걸음 Feat.한빛미디어 (0) | 2018.03.07 |
---|---|
spider의 종류를 알아보자 (0) | 2017.10.17 |
Scrapy 소개 및 개요 (0) | 2017.10.17 |
이클립스 플러그인, 디펜던시,시스템 오류 시 조치법 :) (0) | 2017.09.27 |
도서 리뷰] Learning JavaScript Feat, 한빛미디어 (0) | 2017.08.16 |
겁나 빠른기로 소문난 이 Scrapy는 파이썬으로 작성된 오픈-소스 웹 크롤링 프레임워크입니다.
XPath에 기반한 셀렉터의 도움으로 비롯해 웹페이지에서 데이터를 추출하기위해 주로 사용됩니다.
BSD에 따라 2008년6월26일에 처음 릴리즈되었으며, 2015년 6월에 이정표인 1.0 버전이 릴리즈 되었습니다.
왜 Scrapy를 사용하는가?
Scrapy의 특징
Scarpy의 강점
Scrapy의 단점
spider의 종류를 알아보자 (0) | 2017.10.17 |
---|---|
Scrapy로 프로젝트 시작하기 (0) | 2017.10.17 |
이클립스 플러그인, 디펜던시,시스템 오류 시 조치법 :) (0) | 2017.09.27 |
도서 리뷰] Learning JavaScript Feat, 한빛미디어 (0) | 2017.08.16 |
Swift Fall Through구문 편! (0) | 2016.07.23 |
RECENT COMMENT