카테고리 없음

크롤링 파이썬 설치 scrapy

벨포트조던 2018. 8. 7.
반응형


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

여기서 순서대로 스크래피 설치하고 뭔가 안맞으면 설명에 따라 다 설치한다. 뭐가 문젠지 모르니 어차피 설치해도 무방


4. mysql 클라이언트가 연결이 안됨. 설치도 잘 안됨.

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 


이걸로 해결함

반응형

댓글