검색 본문
lv27.tistory.com 하루더하기 [스페인 여행] 바르셀로나 사그라다 파밀리아 대성당 입장권 티켓 예매하기 (예매/구매 방법) 뜻을, 파밀리아는 '가족'이라는 뜻을 가지고 있다고 해요. 대충 한국어로 번역하자면 성스러운 가족 성당...? 정도 되겠네요. 카탈루냐 출신의 건축가 안토니오...Sagrada Familia YOUR PRIVACY MATTERS We use our own and third-party cookies to improve this website, as well as collect and analyze access data... 스페인 여행 바르셀로나 여행 바르셀로나 사그라다 파밀리아 사그라다 파밀리아 대성당 사그라다 파밀리아 티켓 사그라다 파밀리아 입장권 사그라다 파밀리아 예약 바르셀로나 가우디 투어 2024.04.24 블로그 검색 더보기 zero-week.tistory.com zero-week's IT blog [python] 웹 크롤링(beautifulsoup) 1. 기본 설치 파일 및 코드 먼저 requests 와 beautifulsoup를 설치합니다. pip install requests pip install beautifulsoup4 naver.py로 파이썬 파일을 만들어 아래 코드를 입력합니다. import requests from bs4 import BeautifulSoup url = "https://www.naver.com/" req = requests.get(url) html = req.text soup = BeautifulSoup(html,"html.parser") # html을 html_parse 2.사람이 접속한 것처럼 보이게 하기 접속한 사이트에 접속하여 개발자 도구를 실행합니다(예시로는 네이버를 사용하지만 다른 사이트라도 상관없습니다.) 개발자 도구의 네트워크 탭을 클릭한 후 F5를 눌러 새로고침을 합니다. 그리고 가장 위의 url 주소를 클릭하면 아래와 같은 화면이 나타납니다. 위의 빨간색 네모박스의 User-Agent를 복사합니다. requests의 여러 기능들 중 headers를 찾는 기능도 있습니다. print(req.request.headers) 파이썬에서 위 코드를 작성하고 실행하면 아래와 같이 나올 것입니다. 즉 아무런 설정없이 get(url) 3.원하는 경로를 입력하여 URL 이동하기 먼저 네이버에서 검색을 합니다 저는 뉴진스를 검색했습니다. 주소창을 보시면 query 뒤에 검색 내용이 입력되는 것을 확인할 수 있습니다. url을 전부 복사합니다. 파이썬 코드에서 url을 변경합니다 url = "https://search.naver.com/search.naver?where=view&sm=tab_jum&query=%EB%89%B4%EC%A7%84%EC%8A%A4" 그대로 복사해서 붙여넣었지만 한글부분이 위와 같이 알아볼수 없는 언어로 적힐 것입니다. 그러나 걱정하실것없이 해당 내용을 지우고 코드를 수정하겠습니다. 4.정보 가져오기 네이버의 view 탭에서 정보를 가져와보겠습니다 뉴진스를 검색해서 개발자 코드를 열어보시면 제목부분에 아래와 같은 클래스로 되어있는 것을 볼 수 있습니다. 여러내용을 검색해서 공통된 부분을 찾는 것이 좋습니다. 해당 클래스를 전부 찾는 코드를 추가합니다. html = req.text soup = BeautifulSoup(html,"html.parser") # html을 html_parser로 분석한다 result = soup.select(".api_txt_lines.total_tit") #selectone이 아닌 select는 5. 여러 정보를 한번에 가져오기 1) zip 사용 이번엔 제목과 작성자를 가져오겠습니다. 그리고 아래와 같이 코드를 수정합니다. titles = soup.select(".api_txt_lines.total_tit") #selectone이 아닌 select는 해당 클래스를 전부 가져온다. select내부는 클래스명이며 띄어쓰기가 되어있으면 .으로 대체해준다. names = soup.select(".sub_txt.sub_name") for result in zip(names,titles): #zip 함수는 여러변수를 묶어서 튜플로 만들어준다. print(r 6.광고 제거하기 광고 요소의 클래스를 찾아서 반복문 부분을 아래처럼 수정합니다. for area in areas: ad = area.select_one(".link_ad") #광고요소의 클래스 if ad: print("광고") continue title = area.select_one(".api_txt_lines.total_tit") # select_one은 하나만 가져오는 것 name = area.select_one(".sub_txt.sub_name") print(name.text 7.동적타입에서의 beatifulsoup beatifulsoup애서는 검색 당시의 정보를 가져오기때문에 네이버 처럼 스크롤시 정보가 더 생성되는 동적타입에서는 모든 정보를 가져올 수 없습니다. 이는 태그의 개수로 확인해 볼 수 있습니다. 처음 검색했을 때 total_area태그의 개수를 확인해보겠습니다. 빨간색 네모상자를 보시면 총 30개의 태그가 있습니다. 그러면 스크롤을 내린 후 다시 확인해보겠습니다. 이번엔 60개로 늘어난 것을 확인할 수 있습니다. 그러면 코드상에서는 몇개가 출력되는지 확인해보겠습니다. print(len(areas)) 30개가 출력되는 것을 확인할 17 먼저 requests 와 beautifulsoup를 설치합니다. pip install requests pip install beautifulsoup4 naver.py로 파이썬 파일을 만들어 아래 코드를 입력합니다. import requests from bs4 import BeautifulSoup url = "https://www.naver.com/" req = requests.get(url) html = req.text soup = BeautifulSoup(html,"html.parser") # html을 html_parse 2024.05.21 msdev-st.tistory.com 개발학습일지 [Restful API] Flask에서 JWT 사용 _ JWT 설치하기, 토큰을 적용한 회원가입 API 2 to accept JWTs via cookies. JWT_COOKIE_DOMAIN Value to use for cross domain cookies. For example, if JWT_COOKIE_DOMAIN is ".example.com", the cookies will be set so they are readable by the domains www.exa flask-jwt-extended.readthedocs.io 1-1. 컨픽(config.py) 파일 Config 클래스 안에 JWT관련 변수... 2024.05.22 blog.naver.com ️건강백과사전️ 문해수 LiveGood의 보너스 체계와 리더십의 중요성! 8 이커머스의 뜻과 시장 전망 이커머스, 즉 전자상거래는 온라인상에서 상품과 서비스를 판매하는 사업을 의미합니다. 최근 이커머스 시장은 멈추지 않고 성장하고 있습니다. "쇼핑몰 시장은 계속 커질 거예요. 이럴 때 빨리 탑승해야 돼요."라는 말을 들을 정도로, 많은 사람들이 이커머스 시장에 큰 관심을 보이고... 2024.05.23 hyungin0505.tistory.com 간디의 세상 [LA CTF 2024 Write UP] 두번째로 참가해본 CTF web/terms-and-conditions Welcome to LA CTF 2024! All you have to do is accept the terms and conditions and you get a flag! terms-and-conditions.chall.lac.tf 무지개색 배경에 CTF 이용 약관이 적혀있고 I Accept 버튼이 있다개발자 도구를 통해 script 태그를 살펴보면 저 I Accept 버튼을 눌러야 FLAG를 획득할 수 있다 사실 개발자 도구를 열면 'No Console Allowed'라는 문구가 등장하지만 개발자 도구가 열려있는 상태로 새로고 web/flaglang Do you speak the language of the flags? flaglang.chall.lac.tf 자신의 나라와 다른 나라를 선택해서 서로의 국기, 언어를 확인할 수 있다countries.yaml 파일에서도 볼 수 있듯이 한국을 포함한 각 나라의 언어로 Hello world 가 저장되어있다 Flagistan: iso: FL msg: "<REDACTED>" password: "<REDACTED>" deny: ["AF","AX","AL", ~~~ ] 플래그는 Flagistan이라는 이름으로 저장되어 rev/shatterd-memories I swear I knew what the flag was but I can't seem to remember it anymore... can you dig it out from my inner psyche? 그냥 IDA에 돌려서 main 함수 disassemble 했는데 그냥 봐도 답이 보인다 다만, 순서가 왜 바뀌는지는 이해 못 했지만 어찌됐건 말이 맞으니 잘 풀었다 처음 리버싱 기초 끄적일 때 머리 싸매고 어려워했던 기억이 있어서 리버싱에 거부감이 좀 느껴졌었는데 한번 도전해보길 잘했다앞으로 좋아하는 한 가지 분야만 하려 하지 rev/aplet321 Unlike Aplet123, Aplet321 might give you the flag if you beg him enough. v3 = s; setbuf(stdout, 0LL); puts("hi, i'm aplet321. how can i help?"); fgets(s, 512, stdin); v4 = strlen(s); if ( v4 <= 5 ) goto LABEL_10; v5 = 0; v6 = 0; v7 = &s[(unsigned int)(v4 - 6) + 1]; do { v crypto/valentines-day Happy Valentine's Day! I'm unfortunately spending my Valentine's Day working on my CS131 homework. I'm getting bored so I wrote something for my professor. To keep it secret, I encrypted it with a Vigenere cipher with a really long key (161 characters long!) As a hint, I gave you the first part of t crypto/very-hot I didn't think that using two primes for my RSA was sexy enough, so I used three. from Crypto.Util.number import getPrime, isPrime, bytes_to_long from flag import FLAG FLAG = bytes_to_long(FLAG.encode()) p = getPrime(384) # 116자리수 print(p) while(not isPrime(p + 6) or not isPrime(p + 12)): p = crypto/selamat pagi If you talk in another language, nobody can understand what you say! Check out this message I sent in Indonesian. To add some extra security, I also applied a monoalphabetic substitution cipher on it! Efe kqkbkx czwkf akfs kdkf qzfskf wzdcjtfk Ieqku kqk akfs ikxj kck akfs wkak ukikukf :Q Lzfqztk ukd misc/infiniet loop I found this google form but I keep getting stuck in a loop! Can you leak to me the contents of form and the message at the end so I can get credit in my class for submitting? Thank you! 구글 폼에서 푸는 문제인데 이렇게 두 번째 문제에서 넘어가지지 않는다혹시 넌센스인가 싶어서 3, couple, twice, sex, 0, baby, 1, 창문, window 등등 생각나는 건 다 해봤는데 misc/mixed signals NOTE: Unfortunately we goofed up and uploaded the wrong file. As it's too late into the CTF to fix, we will be leaving the challenge as-is. Yes, you can just hear the flag in the audio file directly. I can't figure out what my friend is trying to tell me. They sent me this recording and told me that misc/one by one One..... by.......... one............... whew I'm tired, this form is waaaaaaay too long. Note: the flag does have random characters at the end - that is intentional. 아까 Infinite Loop를 풀었다면 이 문제도 어렵지 않게 풀 수 있을 것이다다만, 시간이 매우 오래 걸린다는 점.. 이것도 개발자 도구 열면 어지럽게 막 있는데 보면 556692759라는 숫자들이 반복해서 등장한다그런데 눈을 부릅 18 Welcome to LA CTF 2024! All you have to do is accept the terms and conditions and you get a flag! terms-and-conditions.chall.lac.tf 무지개색 배경에 CTF 이용 약관이 적혀있고 I Accept 버튼이 있다개발자 도구를 통해 script 태그를 살펴보면 저 I Accept 버튼을 눌러야 FLAG를 획득할 수 있다 사실 개발자 도구를 열면 'No Console Allowed'라는 문구가 등장하지만 개발자 도구가 열려있는 상태로 새로고 CTF la ctf 2024.02.19 blog.naver.com Jericho Appreciation Society reject, refuse 차이, 뜻 / 영어로 거절하다 20 not accept something or to disagree with it. refuse는 confuse와 함께 생각하면 어떤 그림을 가지는지 쉽게 이해될 수 있어요 confuse는 머릿속에서 2가지가 섞여 있는 것으로 저게 강아지인가? 고양이인가? 혼란스러운 정신 상태라면 refuse는 상대방의 요청, 요구, 초대를 받아서 머릿속에서 바다를 갈까? 산으로... 2024.04.07 통합웹 더보기