getattr( object, attribute name ) class Graph: @staticmethod def barGraph(x, y): print('x축의 값이 {}이고 y축의 값이 {}인 bar 그래프.'.format(x, y)) @staticmethod def pieGraph(x, y): print('x축의 값이 {}이고 y축의 값이 {}인 pie 그래프.'.format(x, y)) @staticmethod def scatterGraph(x, y): print('x축의 값이 {}이고 y축의 값이 {}인 scatter 그래프.'.format(x, y)) arr = ['bar', 'pie', 'scatter'] for graph in arr : getattr(Graph, graph + 'Grap..
Python

정규식 규칙 설정 re.compile() import re p = re.compile('te.t') re라이브러리를 사용하기위해서 우선 import로 선언을 해줍니다. 그리고, re.compile()을 사용하여 원하는 정규식을 선언할 수 있습니다. p변수에는 'te.t'라는 정규식의 규칙이 포함되어있는 상태입니다. 여기서 "." : 하나의 문자열을 의미합니다. "^" : 문자열의 시작을 의미 "$" : 문자열의 끝을 의미 즉 'te.t'는 test나 tett등 세번째 위치에 아무런 문자열만 오면 일치하는 정규식입니다. 정규식과 입력값 매치 match() import re #정규식 라이브러리 p = re.compile("ca.e") m = p.match('case') match는 앞부분부터 문자열이 일치하..

requests 설치 pip install requests pip 패키지 매니저를 통해서 requests라이브러리를 설치해줍니다. requests.get() import requests res = requests.get('https://naver.com') print('응답코드 :', res.status_code) # 200이면 정상 requests.get(URL)을 통해서 해당 URL에 접근하여 크롤링을 할 수 있습니다. 그리고, 성공적으로 접근해서 HTML을 받아왔는지를 status_code에 표시하게 됩니다. if res.status_code == requests.codes.ok: print('정상입니다.') else : print('문제가 생겼습니다. [에러코드 ', res.status_code,..

XPath XPath란, 웹 스크래핑을 하기위해서 특정 태그의 값을 가져오고 싶으면, 그 태그의 위치를 알아야하는데 그 위치를 의미하는 것이 XPath다. 비슷한 태그, 엘리먼트가 있을 경우를 대비해서, 정확한 위치를 입력하기 위함 /html/body/div/span/a.... 하지만, 이렇게 하나하나 나열하게 되면, 복잡하다. 속성값이 유니크한 값이 있을 경우에는 줄여서 사용하는 것이 가능하다. //*[@id="user_name"] 모든 문서에서 id 속성값이 user_name인 것을 찾아라라는 의미 '/' 는 현재 엘리먼트 위치를 의미하고, '//' 는 상위 엘리먼트 위치를 의미합니다. '*' 는 모든 태그 상관없이 '@' 속성을 의미 XPath 쉽게 가져오는 법 네이버의 검색창부분의 XPath를 가..

Web Scraping 어느 웹사이트에서 원하는 정보를 가져오고 싶을 경우에 사용한다. XPath Scrabping을 할 때, 해당 url에는 많은 양에 태그들이 존재하기 때문에 비슷하고 겹치는 element가 존재한다 그 경우에, 어떤 것을 지칭하는지를 명확하게 하기 위해서 XPath를 사용한다. /html/body/div/span/.... 이런식으로 태그를 따라들어가야 하는데, //*[@id="login"] //*[@id="search_btn"]/span[2] 이렇게 간단하게 사용할 수 있다. /는 현재 위치하는 것으로부터 한단계 아래있는 곳을 의미 //는 현재 위치로부터 모든 하위 엘리먼트를 의미 *은 엘리먼트 이름 상관없이 전부를 의미한다. requests pip install requests 우..
result = [1,2,3,4,5,3] result 라는 list 에서 원소값이 3인 index번호를 알고 싶을 때는??! print(test_list.index(3)) index() 를 사용하게되면 list안에 중복된 value가 있을 때에는 index 번호가 빠른 것만 결가값이 나오게 된다. 결과값 2 rest_list = list(filter(lambda x: test_list[x] == 3, range(len(test_list)))) print(rest_list) list(filter()) 를 이용해서 list안에 중복되는 value값이 있어도 다중의 index 번호를 list의 값을 준다. 결과값 [2, 5] 여기서 fillter()는 filter 함수는 built-in 함수로 list 나 d..