programming/python
-
[Flask] 로그인 기능 만들기 ft.JWT,Token,Cookie,hashlibprogramming/python 2022. 8. 29. 14:24
목차 사전 준비 로그인 로직 고민점(api로 get 요청하는 것, flask데이터로 주는 것 --개인 생각 주의) 토큰과 세션과 쿠키 사전 준비 1. jwt 설치 2. 아이디, 패스워드를 저장(패스워드를 hashlib를 통해 인코딩하여 저장한다) doc = { 'name' : '관리자짱', 'password' : hashlib.sha256('admin12'.encode('utf-8')).hexdigest() #hexdiget-16진수 문자열, digest-바이트문자열 } db_user.inser_one(doc) 로그인 로직 1. 사용자의 아이디와 패스워드를 받아온다. 2. 받아온 패스워드를 해시함수를 통한 암호화 값으로 만든다. 3. db에서 유저를 찾는다. 4. 유저가 있다면 jwt 토큰을 발급한다. ..
-
[Python] re 모듈을 통해 정규표현식으로 window.__INITIAL_STATE__ 스크래핑[크롤링]하기programming/python 2022. 7. 15. 16:42
1. 정규 표현식이란? 정규표현식(Regular Expression)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어입니다. re 모듈은 파이썬에서 정규표현식을 지원하는 라이브러리입니다. 2. 정규식에 사용되는 메타 문자 [ ] 문자 클래스를 지정하는데 사용됩니다. ex) [a-v] a부터 v까지의 범위, [acv] acv를 가진 문자 . 줄바꿈 을 제외한 모든 문자와 매치 (점 하나는 글자 하나를 의미한다) * 0회 이상 반복 (없어도 상관 없다) ex) do*g ==> dg(o), dooog(o) + 1회 이상 반복 (무조건 한번 이상 등장해야 한다) ex) do+g ==> dg(x), doooog(o) {m, n} m회 이상 n회 이하 ex) do{2,4}g ==> dog(x)..
-
[Python]동적 페이지 크롤링(스크래핑) with BeautifulSoup & fake_useragentprogramming/python 2022. 7. 11. 23:33
1.동적 페이지 & 정적 페이지란? 1)정적 페이지 : 서버에 미리 저장된 파일(HTML, IMG, JS)등이 그대로 전달되는 페이지 2)동적 페이지 : 서버에 있는 데이터들을 가공 처리한 후 생성되어 전달되는 페이지를 말합니다. 2.데이터가 동적인지 정적인지 어떻게 알까요? 1)간단하게 말해서 개발자 도구를 열어서 Network 탭에 들어가서 상단에 있는 html 문서에서 찾아보고 없다면 동적 데이터가 되겠습니다. 2)예시 저는 실시간 검색어의 데이터를 얻기 위해서 네이트(www.nate.com)를 예시로 들겠습니다. 검색 결과 1위 - 10위까지 있어야 하는데 1위 - 5위까지만 나와있는 것을 볼 수 있었습니다. 3. 데이터 위치 찾기 데이터를 찾기 위해서는 network 탭에서 찾으시면 되는데, j..
-
[Python] getattr 내장 메서드, 함수 이름으로 호출하기programming/python 2022. 7. 5. 23:07
1. getattr이란? 1-1) attr attribute의 약어로 클래스 내부에 포함돼 있는 메서드나 변수를 의미합니다. 그러므로 getattr이라는 내장함수는 클래스 내부에 있는 메서드나 변수를 가져온다는 의미로 해석하면 되겠습니다. 1-2) help(getattr) 내장 함수이며 getattr(객체, 이름) -> 값 객체내에 명명된 '이름'이라는 속성을 가져옵니다. getattr(x,'y')는 x.y와 같습니다. 만약 getattr(x,'y', default)로 설정하여 속성 값 'y'가 없다면 default를 출력할 것 입니다. Help on built-in function getattr in module builtins: getattr(...) getattr(object, name[, defa..