2020 02 12
윈도우10 재설치로... 다시 설정해보았다 .
from scrapy.selector import HtmlXPathSelector
이런 에러가 발생.
이거 주석처리하면 된다. (즉 안쓰면 된다 )
이게 웃긴게
테스트하려고
scrapy shell "www.daum.net"
이걸 쳤다.
근데.. scrapy 프로젝트 내부에서는 작동안하고, 다른 폴더에서는 작동한다. 그래서 에러찾는게 오래걸렸음.
그러니까.. 테스트시에는 작업 프로젝트에서 하지말고 다른곳에서 shell 명령어 시도해보자
------------------------------------------------------------------------------------------------------------------------------------
181210
다시 정리. (실행만
1. 아나콘다 설치
2. 아나콘다 파이썬 설정
http://thrillfighter.tistory.com/466
conda create -n py35 python=3.5.3 anaconda
3. http://uslifelog.tistory.com/26
https://stackoverflow.com/questions/32215285/windows-python2-7-mysqldb-installation-error
pip install mysqlclient==1.3.4
------------------------------------------------------------------------------------------------------------------------------------
180807
이 글에 자세한 설명이 되어잇는데 15년 글이라 좀 안맞는듯,
요약하자면
아나콘다 설치 (파이썬 설치하지 않는다. 아나콘다에 포함됨 ) , pywin32 설치만 하면 scrapy 사용 가능하다.
--> pip 설치 후 실행시 모듈 다 설치해야함.
아나콘다에 웬만한 라이브러리 다 설치되어있음.
아나콘다 환경변수 설정해주는것도 잊지말고
아나콘다 설치 및 파이썬 버전 환경설정 :
http://thrillfighter.tistory.com/466
그리고 pip 설치가 아나콘다로 사용하지 않으면 잘 되지 않는다
http://nittaku.tistory.com/134
여기처럼 avtivate 시켜서 파이썬2.7 버전으로 돌리고 pip 사용하면 잘 되는 편이다 .
--------------------------------------------------------------- 180808
맨위 블로그 참조하면
AttributeError: 'set' object has no attribute 'iteritems' "scrapy"
이런 에러가 나온다..
정확한 이유는 모르겟고, 예전글이라 사용법이 좀 달라진듯하다.
https://doc.scrapy.org/en/latest/intro/install.html#installing-scrapy
scrapy 설치 가이드
https://doc.scrapy.org/en/latest/topics/item-pipeline.html#activating-an-item-pipeline-component
이 주소의 맨아래부분의 셋팅값으로 변경해야한다.
ITEM_PIPELINES = { 'myproject.pipelines.PricePipeline': 300, 'myproject.pipelines.JsonWriterPipeline': 800, }
마지막에 ',' 쉼표 추가해주고.
JsonWriterPipeline
이부분을 만들어줘야함. pipelines 파일에 만들면 된다. (클래스 추가)
import json class JsonWriterPipeline(object): def open_spider(self, spider): self.file = open('items.jl', 'w') def close_spider(self, spider): self.file.close() # 이부분 메소드 쓰면 난 에러난다. 다른사람은 모르겟지만 def process_item(self, item, spider): line = json.dumps(dict(item)) + "\n" self.file.write(line) return item
이런식으로... 안써도 되는거 같지만...
그리고 해당 테스트 페이지 '아파트~~' 는 봇을 막아놨다. /robots.txt. 파일을 보고 접근이 가능한지 파악해야한다.
로봇 체크 블로그 포스트 : https://kimdoky.github.io/python/2017/06/14/python-robots.html
http://dolfalf.tistory.com/tag/scrapy
여기 나름대로 정리된 소스가 있다.
--------------------------------------------------------------
예제 소스는 여기 두개가 쓸만함
http://nittaku.tistory.com/136?category=727207
http://excelsior-cjh.tistory.com/87?category=952027
하나는 db 연결 가능하고, 하나는 내부 url 들어가서 볼수있고
-------------------------------------------------
파이썬 mysqldb 가 설치가 되지 않아
https://stackoverflow.com/questions/32215285/windows-python2-7-mysqldb-installation-error
pip install mysqlclient==1.3.4
이걸로 해결함
댓글