레이블이 파이썬3인 게시물을 표시합니다. 모든 게시물 표시
레이블이 파이썬3인 게시물을 표시합니다. 모든 게시물 표시

2016. 6. 24.

파이썬 공부자료


파이썬을 공부하는 자료들이 많이 널렸는데, 필요한 이 때에 수집해서 저장해 놓을 심산

마이크로소프트 강좌

마이크로소프트의 개발도구 비쥬얼 스튜디오를 이용해서 배우는 파이썬 강좌가 된다. 나온지는 얼마 안 됐지만, 외국인들은 자주 사용하는 사이트. 파이썬 뿐만 아니라 다른 언어와 분야에 대해서 강의를 하고 있다. 한번 정도는 들어가서 내용을 확인할 필요는 있는 사이트

Wikidocs 강좌

온라인으로 책을 공유하는 사이트.
온라인으로 책을 제작 공유하는 사이트. 책도 판매하고 있고, 기본적으로 문서들이 공개되어 있다. 파이썬 뿐만 아니라 C++, C# 등의 책이 올라와 있다.
정리가 잘 되어 있고, 피드백을 할 수 있따는 장점이 있다.

2016. 6. 22.

파이썬3 로그인하기

Packtpub 에서 매일 무료로 책을 배포하고 있습니다. 이를 매일 받아오기가 갑자기 귀찮아져서 파이썬이라는 언어를 사용해서 간단하게 만들어 보고 싶었습니다. 웹상에 소스들에 대한 정보가 많이 있다는 것을 알고 python3로 작성을 해 보고 싶었습니다. 여러가지 소스들을 봤는데, 이상하게 저는 잘 작동이 되지 않더라구요. github.com 에 올라와 있는 소스는 장황하게 설명이 되어 있어서 입문자인 저에게는 버거웠습니다. 그래서 만들어 보았습니다.

1.무료책을 구매하는 링크를 가져오기

header = {'User-Agent': 'Mozilla/5.0'}
r = requests.post(authentication_url, headers=header)
r.encoding = 'utf-8'
bs4_packt = BeautifulSoup(r.text, "html.parser")
getBook_url = base_url + str(bs4_packt.find('a', attrs={'class': 'twelve-days-claim'})['href'])


getBook_url 로 구매하는 책의 링크를 받아온다.

2. Cookie를 저장하기

cj = http.cookiejar.LWPCookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
urllib.request.install_opener(opener)


http.cookiejar 를 이용해서 cookie 저장소를 만들고, opener 를 통해서 쿠키를 자유롭게 이용하면서 이동을 할 수가 있습니다.

3. 정보입력 하기

value = {
        'op': 'Login',
        'email': email,
        'password': password,
        'form_id':'packt_user_login_form'
    }
data = urllib.parse.urlencode(value).encode("utf-8")


로그인 할 데이터를 relencode(value).encode(“utf-8”) 를 합니다. 다른 블로그들을 찾아보니 python3 에서는 utf-8 로 encode 를 해서 이용해야 한다고 합니다. 아직 확인할 방법이 없습니다.

4. 로그인하기

conn = opener.open(authentication_url, data)

opener func(url, data) 를 이용해서 로그인을 할 수 있습니다.

5. 로그인 한 상태로 다른 GET 방식으로 이동하기

conn = opener.open(getBook_url)

같은 명령어로 주소만 적어주면 알아서 GET 방식으로 이동합니다.