[Twitter] search 시 return 데이터의 팁
일단 트위터 라이브러리는 여기 잘 되어 있다.
https://github.com/sixohsix/twitter
설치는 pip 로 가능
pip install twitter
timeline 은 잘 되는데, 같은 코드를 돌려도 search 는 잘 안되서 왜이러나 하고 보니, 자료구조가 조금 다르다.
아래와 같이 써주면 된다.
statuses = t.search.tweets(q='#Lovelyz', lang='en', count=10)['statuses'] # 그지같다 -_-;... 디버그 로그 보고 알았다...
별거 아닌게 시간버렸다. ㅜㅜ
[pyperclip] plain text 클립보드 사용하기
주소를 복붙하는데 사용한 아주 심플한 클립보드 사용 라이브러리
# 확인 환경
Win10/Python3.4
# 설치 방법 :
pip install pyperclip
>>> import pyperclip
>>> pyperclip.copy('The text to be copied to the clipboard.')
>>> pyperclip.paste()
'The text to be copied to the clipboard.'
윈도우에서는 다른 모듈 설치 없이 바로 사용 가능
다른 플랫폼도 큰 무리는 없을 것 같은데, 자세한 내용은 아래 링크에서 확인 가능
Git : https://github.com/asweigart/pyperclip
사진 수집기 도움말
동작 테스트용 도움말 작성
# 권한 설정
프로그램 실행시 관리자 모드로 실행해주세요. (오른쪽 클릭 관리자로 실행)
# 트위터 인증
처음 실행하면 OAuth 절차를 밟는다.
웹 브라우져에 로그인해서 엑세스 키를 입력해주자.
# 설정 파일 간단 설명
처음 실행하면 아래와 같은 파일들이 생긴다. 데이터 저장경로 기본 값은 c:\GetLovelyChu\ 이다.
.\실행 파일이 설치된 경로\config.txt : 저장될 파일 경로 c:\블라블라\ (끝에 \ 필수!!!)
.\데이터를 저장할 경로\getlist.txt : 저장된 파일 끝 번호 (수정하면 해당 번호 다음부터 받는다. 동일한 이름은 덮어 쓴다.)
# 실행할 때 패러미터 입력
실행파일.exe twitterid
ex) 트위터 아이디가 twt1234 라면 아래와 같이 입력한다. twt1234 의 최근 홈 스트림에서 이미지를 가져온다.
C:\> 실행파일.exe twt1234
# 그 외
- 트위터 아이디 지정은 한번에 한개만 지원한다. 여러 계정을 한번에 돌리고 싶으면 bat 파일을 만들어서 돌릴 것
- 동시에 두개 이상을 실행할 경우 저장할 경로를 따로 따로 한다. 겹치면 무슨 사태가 일어날지 책임을 지지 않음 ㅠㅠ 무서우면 그냥 한번에 하나만 돌려요.
# Next Update
- 검색 기능, 과거 페이지에서 가져오기 기능 추가 예정 (트위터 정책상 리밋이 있어서 연구중)
(제작중) 사진 수집기
인터넷에서 사진을 자동으로 수집하는 봇을 만들려고 한다.
파이썬으로 제작
# 구현 목표
- 트위터 특정 팔로워의 이미지 링크 자동 수집 후 이미지 저장
- 트위터 검색으로 특정 검색어의 링크 자동 수집 후 이미지 저장
# 확장 목표
- mp4 도 대응해보자.
- 중복된 이미지를 비교해서 정리할 수 있을까?
- 저장된 이미지에서 누군지 알아보고 분류할 수 있을까?
# 구현 목표 필요사항 메모
[추가할 파이썬 라이브러리]
- 트위터 접근 및 인증 (twitter)
- 웹 파서 (beatifulsoup4)
# 예상 되는 문제 및 기타사항
[인코딩문제]
- 트위터 메시지를 get 했을 때 cmd 창에 그대로 뿌리면 유니코드가 아니기 때문에 오류가 발생한다.
- 빌드해서 exe 로 만들고, chcp 65001 같이 cmd 인코딩 셋을 변경하고 실행하면 괜찮다.
[중복이미지구현시]
- dhash 로 하는 방법에 대해 구글링 하면 나오긴 하는데, python2 기준이기 때문에 3기준으로 코드를 변경해야 한다.
(cx_freeze) Python3.5 cx_freeze 설치 에러 해결 시도
building 'cx_Freeze.util' extension
error: Unable to find vcvarsall.bat
이런 에러 나올 때
After doing a lot of things, I upgraded pip, setuptools and virtualenv.
python -m pip install -U pippip install -U setuptoolspip install -U virtualenv
I did steps 1, 2 in my virtual environment as well as globally. Next, I installed the package through pip and it worked.
이걸로 시도
결과적으로 파이썬 3.5 에서 하는 것을 포기했다.
매우 번거롭지만 파이썬 버전을 다운그레이드 했다.
3.4에서 별다른 세팅 없이 cx_freeze 설치 및 동작이 가능했다.
(cx_freeze) 파이썬 비쥬얼스튜디오 cpp build tools url
http://landinghub.visualstudio.com/visual-cpp-build-tools
cx_freeze 설치 오류 해결을 위해 재 다운로드 했던 것
cx_freeze 라이브러리 설치 할 때 나오는 메시지라서 올렸는데
비쥬얼 스튜디오 커뮤니티에 이미 포함 된 내용이라 받을 필요 없다.
파이썬 3.5에서는 pip install cx_freeze 로 설치가 제대로 되지 않는다.
3.4 에서는 문제가 없으니 3.4로 파이썬 버전을 내려서 해결했다.