250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 준비
- 배낭여행
- 겨울
- ip
- 샐러리
- RabbitMQ
- IT
- 예약
- #DB#SQLD#자격증
- 여행 #
- 1달살기
- 실비용
- JAVA #언어 #프로그래밍 #IT #개발 #코딩
- 일정
- 영국
- 이탈리아
- 유럽
- 추억
- 여행
- 계획
- JAVA #언어 #프로그래밍 #코딩 #static #정적함수 #정적변수 #클래스
- 메시지 큐
- 내심정
- JAVA #객체지향 #프로그래밍 #언어 #IT #기초
- 리눅스
- 파이썬
- 경험
- 유럽여행
- 인프라
- 서버
Archives
- Today
- Total
YoonWould!!
[크롤링] 스크래피 프로젝트 생성 본문
728x90
이번 시간에는 스크래피를 설치하고, 프로젝트를 생성하고, 크롤링의 핵심이 되는 아이템 설정하기까지 살펴보겠습니다.
1. 스크래피 설치
set swap
# swap을 첨부하는 이유는 나중에 xml을 설치했을 때 메모리 공간 확보를 위해서 입니다. sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo "/swapfile swap swap sw 0 0" >> /etc/fstab echo "vm.swappiness = 10" >>/etc/sysctl.conf echo "vm.vfs_cache_pressure = 50" >> /etc/sysctl.conf
Install Scrapy
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm yum update -y yum install python-pip -y yum install python-devel -y yum install gcc gcc-devel -y yum install libxml2 libxml2-devel -y yum install libxslt libxslt-devel -y yum install openssl openssl-devel -y yum install libffi libffi-devel -y CFLAGS="-O0" pip install lxml pip install scrapy
Check Scrapy
scrapy -v
2. 스크래피 프로젝트 생성
scrapy startproject <프로젝트 이름>
tree <프로젝트 이름>
3. 아이템 설정하기
items.py 파일을 확인합니다.
# -*- coding: utf-8 -*-
# Define here the models for your scraped items
#
# See documentation in:
# https://doc.scrapy.org/en/latest/topics/items.html
import scrapy
class HanbitMediaItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
# 책 이름
book_title = scrapy.Field()
# 저자 이름
book_author = scrapy.Field()
# 번역자 이름
book_translator = scrapy.Field()
# 출간일
book_pub_date = scrapy.Field()
# ISBN
book_isbn = scrapy.Field()
pass
한빛미디어 홈페이지를 기준으로 책, 저자, 번역자, 출간일, ISBN 에 대해서 아이템을 선정한 후 아이템을 설정해줍니다.
4. 스파이더 만들기
수집할 정보를 결정해 아이템으로 설정했으니 실제 정보를 수집해야 합니다. 이제 사이트를 크롤링할 스파이더를 만들 차례입니다.
스크래피에서 스파이더를 생성해주는 명령어는 genspider입니다.
# genspider 명령의 각종 옵션과 사용 방법
scrapy genspider
# -t 옵션은 크롤러의 템플릿을 결정할 때 사용
# 추가 부가 옵션
# basic : domain에서 설정한 페이지만 크롤링
# crawl : 설정한 규칙에 맞는 링크들을 재귀적으로 탐색
# xmlfeed : xml 피드를 크롤링
# csvfeed : xmlfeed 크롤러와 비교했을 때 각 행을 크롤링한다는 차이가 있음
scrapy genspider -t crawl book_crawl hanbit.co.kr
스파이더 파일은 spiders 디렉터리에 생성됩니다.
book_crawl.py 확인
728x90
'<인턴생활> > [python 예제]' 카테고리의 다른 글
[데이터분석] 팬더스 활용하기 (0) | 2019.04.30 |
---|---|
[메시지 큐 만들기]RabbitMQ를 이용한 메시지 큐 2탄 (0) | 2019.04.29 |
[메시지 큐 만들기]RabbitMQ를 이용한 메시지 큐 (0) | 2019.04.29 |
[크롤링]크롤링 애플리케이션 만들기 (0) | 2019.04.24 |