반응형

[Python] 파이썬으로 크롤러 만들기 - 박승규 @wapj - 이모콘 EMOCON 2016 F/W


게시일: 2016. 10. 19.

# 파이썬으로 크롤러 만들기 - 박승규 @wapj
requests와 BeautifulSoup을 이용해서 구글의 이미지를 긁어오는 내용을 만드는 과정을 발표합니다.


----------------------------

이 영상은 2016년 10월 7일~8일 양일간, 집에서 참여하는 이상한 컨퍼런스, 이모콘 2016 F/W에서 진행된 세션 영상입니다. 영상 목록은 아래 재생 목록에서 확인할 수 있습니다.

https://www.youtube.com/playlist?list...

----------------------------
이상한모임의 다양하고 재미있는 이야기를 빠르게 접하는 방법, 이상한모임의 Youtube 채널을 구독하세요!

https://www.youtube.com/channel/UCtzn...

이모콘 2016 F/W 페이지: http://emocon.weirdx.io/2016fw/
이상한모임 블로그: http://blog.weirdx.io
이상한모임 트위터: http://twitter.com/we_weirdmeetup
이상한모임 트위터: https://www.facebook.com/weweirdmeetup




...

반응형
반응형


Scikit-Learn 을 이용한 전처리


문서 전처리 - Scikit-Learn 의 문서 전처리 기능 https://datascienceschool.net/view-notebook/3e7aadbf88ed4f0d87a76f9ddc925d69/

 

 


도서 카테고리 예측하기 프로젝트 #1 데이터 수집 및 전처리하기

 - http://www.sturdylad.co.kr/%EB%8F%84%EC%84%9C-%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC-%EC%98%88%EC%B8%A1%ED%95%98%EA%B8%B0-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%A0%84%EC%B2%98%EB%A6%AC/


 도서 카테고리 예측하기 프로젝트 #2 데이터 학습 시키기

  - http://www.sturdylad.co.kr/%EB%8F%84%EC%84%9C-%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC-%EC%98%88%EC%B8%A1%ED%95%98%EA%B8%B0-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%AA%A8%EB%8D%B8%ED%95%99%EC%8A%B5/


 도서 카테고리 예측하기 프로젝트 #3 생성된 모델로 텍스트 데이터 카테고리 예측해보기

 - http://www.sturdylad.co.kr/%EB%8F%84%EC%84%9C-%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC-%EC%98%88%EC%B8%A1%ED%95%98%EA%B8%B0-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%98%88%EC%B8%A1%ED%95%98%EA%B8%B0/



...



반응형
반응형



6.2. 파일을 입맛대로(pickle, glob, os.path)

파일을 입맛대로 요리할 수 있도록 여러 가지 비법을 전수해드리지요. 먼저 조금 복잡한 자료를 파일에 쓰고 읽는 방법부터 알아봅시다. 이럴 때는 pickle(피클)이란 모듈을 사용합니다. 왜 피자 먹을 때 나오는 반찬을 이름으로 붙였는지…

예제로는 회원의 ID와 비밀번호를 파일에 저장하는 것을 생각해보았습니다.

>>> users = {'kim':'3kid9', 'sun80':'393948', 'ljm':'py90390'}
>>> f = open('d:/python21/exam/users.txt', 'w')
>>> import pickle
>>> pickle.dump(users, f)
>>> f.close()

처음에 ID와 비밀번호를 users라는 사전에 담았습니다. 그리고 users.txt라는 파일을 새로 열어서 f라고 했구요. 그 다음에는 오이지(pickle^^;) 모듈의 덤프(dump)를 사용했습니다.

여러분 덤프 트럭 다 아시죠? 왜 공사장에서 흙 싣고 다니는 무지 큰 트럭 있잖아요. 그런 차는 뒤쪽 짐칸을 들어올려서 흙을 와르르 쏟아내지 않습니까? 여기서 보시는 dump도 마찬가지입니다. users라는 리스트의 내용을 파일 f에 와르르 쏟아붓는 거지요. 음, 이렇게까지 설명할 필요는 없을 텐데… 오늘 쓸 것이 없다보니…

이제 메모장으로 users.txt 파일을 열어보시면 모양이 좀 지저분하긴 해도 데이터가 다 들어있는 걸 보실 수 있을 거예요.

그렇다면 이 파일에 들어있는 것을 원래대로 돌려볼까요? 원래대로 돌리는 것도 역시 오이지 모듈이 할 일이겠죠.

>>> f = open('d:/python21/exam/users.txt')
>>> a = pickle.load(f)
>>> print a
{'sun80': '393948', 'kim': '3kid9', 'ljm': 'py90390'}

사실 방금 보여드린 것은 그리 복잡할 것도 없지만 pickle 모듈은 파이썬에서 만들어지는 것은 뭐든지 다 파일에 적을 수 있다고 합니다. '그게 뭐 어때서'라고 생각하실지 모르겠지만 이건 놀라운 기능이라고 튜토리얼에 쓰여있습니다.

오이지는 이쯤 해두고, 전에 잠깐 구경했던 glob 모듈에 대해 알아보도록 하죠. glob는 파일들의 목록을 뽑을 때 사용하는데, 파일의 경로명을 이용해서 입맛대로 요리할 수 있답니다.

>>> import glob
>>> glob.glob('*.*')
['INSTALL.LOG', 'LICENSE.txt', 'NEWS.txt', 'py.ico', 'pyc.ico',
'pycon.ico', 'python.exe', 'pythonw.exe', 'readme.txt',
'UNWISE.EXE', 'w9xpopen.exe']
>>> glob.glob('*.txt')
['LICENSE.txt', 'NEWS.txt', 'readme.txt']

위의 별표(*)는 무슨 글자든, 몇 글자든 상관 없다는 뜻으로, 디렉토리(폴더)에 들어있는 파일들을 그냥 다 보려면 *.*라고 해주면 됩니다. 파일명에 상관 없이 확장자가 txt인 파일을 모두 보고 싶으면 *.txt라고 하면 되지요.

다음은 glob과 함께 os.path 모듈을 사용한 예제입니다.

>>> import os.path
>>> files = glob.glob('*')
>>> for x in files:
...     print x,
...     if os.path.isdir(x):                  # 디렉토리인가?
...             print '<DIR>'
...     else:
...             print ''

스크립트만 보고 어떤 일을 하는건지 짐작이 가시는지요?

둘째줄에서 glob.glob('*')를 해서 얻어진 파일 목록들을 files라는 리스트로 넣어줬습니다. 그 다음부터는 for 문을 통해서 파일명을 하나씩 출력한 다음 그것이 디렉토리이면 <DIR>이라고 출력해주고, 그렇지 않으면 그냥 줄만 넘겨주도록 했지요.



...


반응형
반응형

단어 리스트 단어길이순, 단어순 정렬하기


txt = 'but soft what light in yonder window breaks'

words = txt.split()

t = list()

for word in words:

   t.append((len(word), word))


t.sort(reverse=True)


res = list()

for length, word in t:

    res.append(word)


print res



단어를 리스트에 담을때 길이도 같이 담는다. 


.sort() 는 첫번째 요소를 정렬하고 첫번째 요소가 동일하면 두번째 요소를 정렬한다. 


reverse=True 는 내림차순(큰것에서 작은것)으로 정렬해준다. 


 * 파일에 저장하기

with open( "./단어장파일.txt", "w", encoding='utf-8' ) as file_con:

    for length, word in t:

        file_con.append(word)


        


...

반응형
반응형

Python Numpy Tutorial



Table of contents:



반응형
반응형

최규민: 추천시스템이 word2vec을 만났을때 - PyCon Korea 2015





...

반응형
반응형


It's Easy (On Mac):

  1. Install easy_install  curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python
  2. Install pip  sudo easy_install pip
  3. Install regex module  pip install regex



한국어처럼 Unicode가 사용된 경우에는 위 방법을 이용할 수 없다. 대신 한국어 어절을 분리하고 싶을 때는 regex를 쓰면 편하다.2

>>> import regex
>>> regex.findall(ur'\p{Hangul}+', u'다람쥐 헌 쳇바퀴에 타고파.')
[u'\ub2e4\ub78c\uc950', u'\ud5cc', u'\uccc7\ubc14\ud034\uc5d0', u'\ud0c0\uace0\ud30c']

한국어, 영어, 한자어 등 여러 언어가 혼재된 경우에는 아래와 같이 어절을 분리할 수 있다.

>>> import regex
>>> regex.findall(ur'[\p{Hangul}|\p{Latin}|\p{Han}]+', u'동틀녘 sunlight이 作品!')
>>> [u'\ub3d9\ud2c0\ub158', u'sunlight\uc774', u'\u4f5c\u54c1']


반응형
반응형


문자열 비교


string1 = 'Hello'

string2 = 'hello'


if string1.lower() == string2.lower():

    print "같은 스트링"

else:

    print "다른 스트링"




반응형

+ Recent posts