728x90

파이썬 웹크롤링 패키지로 크게 BeautifulSoup과 selenium이 있습니다.

 

BeautifulSoup으로는 동적페이지를 파싱해오기 어렵기때문에

동적페이지에서는 selenium을 사용하고 정적페이지에서는 BeautifulSoup을 써도 무방합니다.

 

먼저 BeautifulSoup에 대해서 위키백과 설명을 보면

HTML과 XML 문서들의 구문을 분석하기 위한 파이썬 패키지이다

HTML로부터 데이터를 추출하기 위해 사용할 수 있는 파싱된 페이지의 파스 트리를 만드는데, 이는 웹 스크래핑에 유용하다

이렇게 나와있습니다.

 

BeautifulSoup을 사용하면 계층구조로 된 html태그를 바탕으로 쉽게 파싱을 해올 수 있는데

먼저 파싱해올 url을 아래와 같이 입력하여 가져옵니다.

 

from bs4 import BeautifulSoup
from urllib.request import urlopen

if __name__ == "__main__":
    url = 'https://naver.com'
    html = urlopen(url)
    bsObject = BeautifulSoup(html, "html.parser")

그 후 가져오고 싶은 영역이 있으면 .find()를이용해서 가져온 bsObject 안에서 해당 태그를 가져옵니다

print(bsObject.find('div', 'list_theme_wrap'))

만약에 li와 같은 리스트를 가져오고 싶으면 find_all()을 사용해서 list형식으로 가져올 수도 있습니다.

print(bsObject.find_all('li', 'theme_item'))

또 그안에 있는 text를 가져오려면 .text를 용한뒤 .strip()을 통해 좌우 공백을 지워줄 수 있습니다.

li_list = bsObject.find_all('li', 'theme_item')

    for li in li_list:
        print(li.text.strip())

 

728x90

소프트웨어 버전관리를 하게되면 현재버전이 최신버전인지 아닌지 비교해야할 경우가 생깁니다

 

현재버전이 1.0.0이고 최신버전이 1.0.1이라고 하면 

버전을 비교해서 현재버전이 최신버전보다 낮으면 업그레이드를 하라고 알림 줘야하기 떄문입니다 

 

그럴때 유용하게 쓸 수 있는 패키지가 semver패키지입니다

 

저도 앱 강제업데이트를 위해서 버전비교하는 로직을 만들다가 

버전에서 .로 나눈다음에 숫자로 바꿔서 크기비교를 해야하나 라는 고민을 하다가

semver 패키지를 알게되었고 아주 간단하게 버전비교를 할 수 있었습니다

 

 

먼저 pip install semver로 패키지 설치를 진행한 뒤 아래 코드처럼 import 해서 사용하시면 됩니다

import semver

def app_update_check(db, data):
    version = convert_data_app_version(AppDao.app_update_check(db))

    # 최소 버전보다 낮으면 강제 업데이트, 최소 버전보다 높은데 최신 버전보다 낮으면 선택 업데이트
    # result (-1: 왼쪽이 낮음, 1: 왼쪽이 높음, 0: 같음)
    # 강제업데이트
    isForceUpdate = semver.compare(data['version'], version['min_version'])

    # 선택 업데이트
    isUpdate = semver.compare(data['version'], version['newest_version'])

    return {"isForceUpdate": isForceUpdate, 'isUpdate': isUpdate}

소스를 보시면 클라이언트에게 현재버전을 받고, db에서 최소버전 최신버전을 가져와서 비교를 한뒤
강제업데이트를 할것인지 선택업데이트를 할것인지 응답을 주는 코드인데 semver.compare()를 사용하면
바로 결과값이 나오는걸 확인할 수 있습니다

728x90

브리즈번은 호주의 5대 도시중 하나로 시드니,멜버른 다음으로 큰 도시입니다.

제가 살던 선샤인코스트에서 차로 1시간정도 떨어진 곳에 있는 도시이며 퀸즐랜드 주의 대표 도시입니다.



위 사진은 브리즈번 강에 있는 공원에서 시티를 찍은 사진입니다.

전 포스트에서 말했듯이 일년 중 대부분의 날씨가 사진처럼 맑습니다.

저 공원을 걷다보면 인공해변이 있어서 일광욕과 자연을 좋아하는 호주사람들이 도심에서도 일광욕을 즐길 수 있습니다.




브리즈번 시티에는 1개의 카지노가 있는데, 규모가 다른 카지노처럼 크지는 않지만 처음 카지노를 접하는 사람들에겐 오히려 사람도 적고 복잡하지 않아서 좋은 것 같습니다. ​



위 사진이 카지노 겉모습 입니다.
저기가면 그냥 돌림판에 써있는 배수를 찍고 그 배수에 정지하면 배팅금액*배수의 돈을 받는 간단한 게임이 있는데 그 게임으로 쏠쏠한 재미를 본 기억이 있네요.

마지막으로 브리즈번 씨티의 야경 사진으로 포스팅을 마무리 하겠습니다​

728x90

​​호주 선샤인 코스트(Sunshine Coast)

간단하게 2016년 일년동안 살았던 호주의 선샤인코스트에 대해 포스팅을 해보려고 합니다.

선샤인코스트라는 도시 이름은 생소할 수도 있지만 요즘들어 호주에서 은퇴 후 노년기를 보내러 많이들 모이고, 겨울에 추운 남쪽지방에서 휴가를 보내기 위해 많이 놀러오는 곳입니다.

호주의 5대 도시 브리즈번에서 차로 약 1시간 떨어진 북쪽에 위치하고 있으며 인구는 30만명 정도의 소도시 입니다.​


빨간색 마크가 찍혀있는 곳이 선샤인 코스트 입니다.

선샤인 코스트는 아래 사진처럼 해변이 길게 뻗어있고, 도시 이름마냥 여름에는 엄청난 햇빛이 내리쬐고 호주위에는 오존층이 매우 작아서 한국보다 자외선 쌔기가 몇배라고 합니다.
처음 바닷가를 가서 30분만에 어깨가 화상입어 고통스러웠던 기억이 나네요...



위에서 언급했다시피 노인분들이 최근 많이 몰리는 도시기 때문에 요양원, 큰병원들이 들어서고있고 university of the sunshine coast의 간호학과에서 졸업을하면 영주권을 따는데 가산점이 붙어서 많은 한국학생들이 몰리고 있는 지역중에 하나입니다. 또한 TAFE이라는 호주의 기술대학이 있는데 그 곳 또한 요리사자격증으로 영주권을 따기위해 오는 분들이 많이 있습니다.


이 사진은 브리즈번에서 선샤인코스트로 가는 고속도로에서 찍은 사진인데 1년중 300일은 저렇게 맑은 날씨를 보이는거 같습니다.

제가 어학연수를 선샤인코스트로 선택한 큰 이유중 하나가 원어민 비율이 높다는 점인데요 선샤인 코스트가 호주 도시중 백인비율이 가장 높은 곳이라고 합니다.
제가 갈때까지만 해도 한국인을 보기 어렵다고 하고, 도착 했을때 한국인을 길에서 보기가 쉽진 않았는데 한국에 돌아오기 전에는 확실히 1년전보다 한국인 비중에 늘었던거 같습니다.

마지막으로 쇼핑센터에서 해질녘에 찍은 ​사진을 올리고 포스팅을 마치겠습니다!



+ Recent posts