본문 바로가기

Python

Scrapy 에러 2018-05-27 20:06:41 [scrapy.core.scraper] ERROR: Spider error processing (referer: None) parse라는 함수를 제대로 명시하지 않고 임의의 이름을 지어주거나 탐색하려는 태그가 존재하지 않을 경우 발생한다.규칙을 찾았다고 생각했으나 잘 보면 태그가 조금 다른 부분이 있다. /span[0] 대신 //span을 써서 모든 문장을 가져오는 식으로 해결했다.
Scrapy 한글 깨질 때 해결법 파일의 상단에 # -*- coding: utf-8 -*-를 써도 소용이 없고 encode('utf-8')을 입력해도 소용이 없을 때settings.py에 가서 아래 한 줄을 추가해주면 된다. 외부에 피드(공급)할 때 인코딩을 어떤 형식으로 지정할 것인지에 대한 설정이다.FEED_EXPORT_ENCODING = 'utf-8' FEED_EXPORT_ENCODINGDefault: NoneThe encoding to be used for the feed.If unset or set to None (default) it uses UTF-8 for everything except JSON output, which uses safe numeric encoding (\uXXXX sequences) for histori..
Scrapy response.xpath로 데이터 추출하기 가져오고 싶은 데이터가 있는 url 입력scrapy shell "http://www.jobkorea.co.kr/starter/?schLocal=&schPart=10016&schMajor=&schEduLevel=&schWork=&schCType=&isSaved=1&LinkGubun=0&LinkNo=0&Page=1&schType=0&schGid=0&schOrderBy=0&schTxt=" result = response.xpath('//*[@id="devStarterForm"]/div[2]/ul/li[1]/div[2]/div[2]//span/text()').extract() for i in result:print(i) 결과웹프로그래머응용프로그래머ERP·시스템분석·설계 외
IOError: [Errno 22] invalid mode ('wb') or filename: : > < " / \ | ? * 등의 예약어는 파일명이 될 수 없음.. import scrapy class JobSpider(scrapy.Spider): name = "jobspider" allowed_domains = ["jobkorea.co.kr"] start_urls=[ "http://www.jobkorea.co.kr/starter/?schLocal=&schPart=10016&schMajor=&schEduLevel=&schWork=&schCType=&isSaved=1&LinkGubun=0&LinkNo=0&Page=1&schType=0&schGid=0&schOrderBy=0&schTxt=" #"http://www.jobkorea.co.kr" ] def parse(self, response): file..
Scrapy 데이터 추출하고 수집하기, 파이참에서 Anaconda Prompt에서 scrapy startproject crawler_test 입력해서 새 프로젝트 생성.파이참을 켜고 File->Open에서 명령창의 홈 경로에 있는 crawler_test 열기.items.py 파일을 열고 다음과 같이 입력import scrapy class CrawlerTestItem(scrapy.Item): #수집하고자 하는 정보 저장 title = scrapy.Filed() score = scrapy.Field() genres = scrapy.Field() consensus = scrapy.Field()spiders 폴더에 가서 새 파이썬 파일 생성 rt_spider.pyimport scrapy from crawler_test.items import CrawlerTes..
Scrapy의 구조 크롤링 맛보기 scrapy 프레임워크 기본 구조scrapy startproject test 명령을 입력하면 scrapy 프레임워크가 자동 생성된다. 이 안에는 다음과 같은 기본 트리가 있다.test--__init__.py--items.py--pipelines.py--settings.py--spiders----__init__.pyscrapy.cfg spiders어떤 웹 사이트들을 어떻게 크롤링할 것인지 명시, 각각의 웹 페이지의 어떤 부분을 스크래핑할 것인지 명시하는 클래스items웹 페이지에서 원하는 부분을 스크랩하여 저장할 때 사용하는 사용자 정의 자료구조 클래스pipelines스크래핑 결과물을 Item 형태로 구성하였을 때, 이를 자유롭게 가공하거나 다양한 파일 형태로 저장할 수 있도록 하는 클래스, DB에 넣을 ..
윈도우에서 scrapy 설치 및 확인 Anaconda Prompt를 켜고(없다면 설치..) conda create -n py27 python=2.7을 입력한다. 설치를 기다린다. 설치가 완료된 뒤python --version을 입력하면 기존에 사용하던 버전이 나온다. 3.6이라던가..activate py27을 입력해서 아까 만든 가상 환경을 실행하고 python --version을 입력한다 그러면 python2.7.x.가 나온다.가상환경을 종료하려면 deactivate py27 입력 scrapy를 설치할 때 lxml 라이브러리가 필요하다. https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 여기로 이동해서 운영체제 비트 수에 맞는 파일을 받는다 32비트면 lxml‑4.2.1‑cp27‑cp27m‑win32...
우분투에서 크롤링하기 위한 설치 설치하기우분투 터미널에서apt-get install build-essential 입력파이썬은 기본으로 설치되어 있다고 함 python -V 치면 파이썬 버전이 나옴apt-get install python-pip 입력, pip는 파이썬으로 작성된 패키지 라이브러리를 관리해줌pip list를 입력하면 beautifulsoup 등 라이브러리가 나옴가상 환경에서 파이썬을 사용하기 위해 pip install virtualenv virtualenvwrapper를 입력한다.가상 환경을 쓰면 오류가 났을 때 지우고 다시 설치하면 된다. vi bach.rc에 들어가서 설정을 한다.파일의 맨 아랫줄로 이동한 뒤insert 또는 i 버튼 누르고export WORKON_HOME=$HOME/.virtualenvssource /..