본문 바로가기

Python

BUILD FAILED (OS X 10.13.6 using python-build 20180424) 가상환경에서 쓸 파이썬을 설치하는데 pyenv install x.x.x 명령어 입력 시 에러...가 났다. BUILD FAILED (OS X 10.13.6 using python-build 20180424) zipimport.ZipImportError: can’t decompress data; zlib not available xcode가 설치되지 않았거나, zlib이 설치되지 않아서 생기는 문제같다. xcode-select --install brew install zlib 이후 다음 에러가 나오면 ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib? 다음 명령을 입력한다. CFLAGS="-I$(brew --prefix op..
Mac OS 파이썬 가상 환경 만들기 pyenv, virtualenv pyenv를 이용하여 다양한 파이썬 버전을 install하고 이후 원하는 virtualenv를 이용하여 파이썬 버전을 선택하고 가상 환경을 설치한다. 가상 환경을 명시적으로 activate하여 프로젝트 실행을 하고 다 끝나면 deactivate하여 가상환경을 종료한다. pyenv : 파이썬 버전 관리 프로그램 pyenv 설치brew updatebrew install pyenv virtualenv 설치brew install pyenv-virtualenv shell에 pyenv 관련 설정 추가bash 쓴다면 vi ~/.bash_profile 또는 vi ~/.bashrc로 파일 켜고 zsh 쓴다면 vi ~/.zshrc로 파일 켜고아래 코드 입력 후 저장. export PYENV_ROOT=/usr/local/v..
Scrapy IndexError: list index out of range 크롤링 할 때 비어있는 값에 접근하면 이런 오류가 난다. span이 비어있으면 나는 에러. item['achievement'] = info.xpath('div[3]/span[1]/text()')[0].extract()해결 방법은 Try로 시도해보고 IndexError가 날 때 예외처리를 해주는 것이다.try: item['achievement'] = info.xpath('div[3]/span[1]/text()')[0].extract() except IndexError: item['achievement'] = 'no' https://stackoverflow.com/questions/11902458/i-want-to-exception-handle-list-index-out-of-range
Scrapy 간단 Selector 크롤링하고 싶은 데이터가 있는 사이트 상의 HTML 문서에서 데이터 선택하는 방법 selector 방식에는 css, xpath가 있다. response.xpath('//base/@href').extract()의 의미는 parse 함수에서 사이트를 돌고 난 뒤 response를 반환하는데 이 response에는 사이트 문서가 있다. 문서를 xpath라는 selector를 사용해서 태그에 접근한다는 것이다. //의 의미는 모든 자식을 의미한다. //base이니까 모든 base 태그를 선택하는 것이다. /@href는 자식 중에 속성이 href인 것을 선택하는 것이다. extract()는 선택한 것을 리스트 형식으로 추출한다는 것이다. scrapy 문서상에선 extract_first() 대신 get()을 쓰고 ..
웹 크롤링 이슈 - 저작권, 사이트 크롤링 정책 다음 내용은 정확하지 않을 수 있다. 링크의 종류 저작권법 허용1. 단순 링크 - 사이트 대표 주소를 링크2. 직접 링크 - 특정 게시물을 링크 저작권법 위반3. 프레임 링크 - 저작물의 일부를 홈페이지에 표시4. 임베디드 링크 - 저작물 전체를 홈페이지에 표시 다른 사이트에서 직접 만들거나 돈 주고 사온 데이터를 함부로 긁어와서 자신의 사이트에 게시하는 것은 저작권 위반의 소지가 있을 수 있다. 로봇 배제 표준 (robots.txt)웹 사이트에 로봇이 접근하는 것을 방지하기 위한 규약사이트의 로봇 규약을 보고 싶다면 주소 창에 사이트 url/robots.txt 입력 모두 허용User-agent: *Allow: /모두 차단User-agent: *Disallow: / User-agent: googlebot..
T-Rex Game Bot http://www.trex-game.skipser.com/ 피하기 게임 봇. from PIL import ImageGrab, ImageOps import pyautogui import time from numpy import * class Cordinates(): replayBtn = (340, 390) dinasaur = (288, 401) def restartGame(): pyautogui.click(Cordinates.replayBtn) pyautogui.keyDown('down') def pressSpace(): pyautogui.keyUp('down') pyautogui.keyDown('space') time.sleep(0.18) print("Jump") pyautogui.keyUp('spac..
ImportError: cannot import name 'MongoClient' 너와 포맷까지 생각했어 파이참 개발환경에서 이런 에러가 났다. 설마하고 idle 켜서 해봐도 같은 에러가 났다.수업 시간에 발버둥을 쳐도 소용이 없었다. 혹시 scrapy, tensorflow 실습을 위해 만든 가상환경에 설정이 반영되지 않아서 그런가 생각했다.cmd창에서 Python34>Scripts에도 들어가보고, AppData에도 들어가봤는데 소용 없었다. Stackoverflow, 지식인에 가봐도 소용 없었다. 결론은 pymongo.py라는 파일을 지우면 되는 것이다... 키워드와도 같은 pymongo는 함부로 입에 담으면 안되는 것이었다. 난 왜 항상 이런 쓸데 없는 곳에서 막히나 모르겠다. ImportError: cannot import name 'MongoClient'
Scrapy 참고 사이트 튜토리얼 포인트 사이트 https://www.tutorialspoint.com/scrapy/scrapy_using_item.htm Scrapy 공식 문서 https://doc.scrapy.org/en/latest/topics/logging.html 유투브 강의 https://www.youtube.com/watch?v=vkA1cWN4DEc&index=1&list=PLZyvi_9gamL-EE3zQJbU5N3nzJcfNeFHU 인프런 강의 https://www.inflearn.com/course/%EC%9B%B9-%ED%81%AC%EB%A1%A4%EB%A7%81web-crawling-%EC%96%B4%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EB%A7%8C%EB%93%..