Scrapy 설치 및 프로젝트 생성
# pip 설치 pip install scrapy ... Building wheels for collected packages: Twisted, PyDispatcher, zope.interface, pycparser scrapy startproject projectname
Ubunut에서 pip로 설치후 프로젝트 생성이 되지 않을 경우
# ubuntu 설치 sudo apt install python-scrapy scrapy startproject projectname
프로젝트 구조
- projectname/scrapy.cfg
- 프로젝트 파일구조 설정
- projectname/items.py
- 크롤링한 결과가 저장될 형태 정의
- projectname/pipelines.py
- 크롤링한 데이터를 items에 맞게 가공하거나, 가공된 데이터를 어떻게 처리할것인지 정의
- projectname/settings.py
- 프로젝트 설정 파일
- projectname/spyders/
- 실제 크롤링시 동작할 파일
예제
# myspider.py import scrapy class BlogSpider(scrapy.Spider): name = 'blogspider' start_urls = ['https://blog.scrapinghub.com'] def parse(self, response): for title in response.css('h2.entry-title'): yield {'title': title.css('a ::text').extract_first()} for next_page in response.css('div.prev-post > a'): yield response.follow(next_page, self.parse)
실행
scrapy runspider myspider.py ... 2018-06-26 10:14:50 [scrapy.core.scraper] DEBUG: Scraped from <200 https://blog.scrapinghub.com/page/5/> {'title': u'How Web Scraping is Revealing Lobbying and Corruption in Peru'} ...
반응형
'lang > py' 카테고리의 다른 글
Python virtualenv (0) | 2018.08.17 |
---|---|
python3 를 기본값으로 설정 (0) | 2018.08.11 |
python helloWorld (0) | 2018.06.11 |
파이썬 라이브러리 가상환경 묶기 (0) | 2017.05.16 |
Python 정규표현식 re (0) | 2016.12.12 |