driver.maximize_window()#창 최대화 url = "https://play.google.com/store/movies/top" #지금은 레이아웃 바뀜 headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x 64) A~url~~", "Accept-Language":"ko-KR,ko" } #글로벌 페이지의 경우에는 url로 그냥 접속할경우 한글 버전에서 영어 버젼으로 넘어가는 경우가 있다. 그러므로 한국에서 접속한다는 것을 알려주기 위함 + 만약 한글 페이지가 있으면 한글 페이지 반환 movies = soup.find_all("div", attrs= {"class:":"ImZGtf mpg5gc"}) print(len(movies))..
from selenium.webdriver.common.keys import Keys #검색하기 위한 라이브러리가 있음 element = driver.find_element_by_class_name("link_login") #class name으로 검색해서 link_login인 친구를 element객체에 넣어준다는 의미 element.click() #클릭 driver.back()#뒤로가기 driver.forward()#앞으로가기 driver.refresh()#새로고침 검색창 검색하기 element = driver.find_element_by_id("query") #input의 id가 query인 친구를 찾아 element에 넣어준다. element.send_keys("입력 값") element.send_..
Image 파일 크롤링 시 파일명 숫자 붙이기 images = soup.find_all("img", attrs={"class" : "thumb_img"}) for idx, image in enumerate(images): #파일을 생성할때 인덱스 값 1,2,3을 자동으로붙여주기 위해서 이렇게 선언한것 Image URL 가져오고 타고 들어가기 #print(image["src"]) #src 속성에 있는 값을 가지고 오는것 image_url = image["src"] if image_url.startswith("//"): image_url = "https:" + image_url #image_url 값에 https가 없어서 넣어줌으로써 제대로 링크 타고 갈 수 있도록 한 것 print(image_url) im..
여러 페이지에서 똑같은 명령을 진행하기 위한 방법. Url 분석을 통한 page for 문 돌리기 for i in range(1,6): print("페이지:", i) url = "https://www.coupang.com/np/search?q=노트북&channel=user&component=&eventCategory=SRP&trcid=&traid=&sorter=scoreDesc&minPrice=&maxPrice=&priceRange=&filterType=&listSize=36&filter=&isPriceRange=false&brand=&offerCondition=&rating=0&page={}&rocketAll=false&searchIndexingToken=1=5&backgroundColor=".form..
cartoons = soup.find.all("a", attrs={"class" : "title"}) # a 태그에 있는 class속성이 title인 모든 element를 반환. #그냥 find일 경우 제일 처음 나오는 친구만 가져온다! #for문 for cartoon in cartoons: print(cartoon.get_text()) #월~일까지 모든 웹툰 전체 목록 다 끌고옴 print("https://comic.naver.com" + link) # 혹시 링크만 프린트했을때 주소가 짤려서 나온다면, 짤린 앞부분을 따로 저렇게 + 를 사용해서 붙여줄 수 있다! link = cartoon.a["href"] #a태그 내에 있는데, 그 태그 내에 해당 회차로 링크 들어가는 href만 반환하는 것 print..
'requests' has no attribute 'get' (most likely due to a circular import) → 파일명과 import 함수의 명이 같을 때 출력되는 오류 파일명을 바꿔주면 된다! res.raise_for_status() → 웹스크래핑을 하기 위해서 올바로 html문서를 가져왔으면 문제가 없고, 만약 문제가 있으면 오류를 내는 것이다. 즉, 문제가 생길때는 바로 오류를 내 뱉고 프로그램을 끝낼 수 있도록 한다. e.g) import requests res = requests.get("https://naver.com") res.raise_for_status() #웹에 정상적으로 스크래핑을 위한 접속이 되는지 판단하는 코드 print("응답코드:", res.status_c..

/학교/학년/반/학생[2] //*[@학번=”1-1-5”] /html/body/div/div/div/div/div/span/a... //*[@id=”login”] —> id가 login인 녀석을 모든 문서에서 찾아주세요 / → 지금 내가 위치한 곳에서 한단계 아래 있는 녀석을 찾는 것 // → 지금 있는 위치로부터 모든 하위 모두들에 대해서 다 찾아보는 것 *→ 어떤 태그에 있든 상관없이 다 찾는 것 e.g) //학생[@학번=”1-1-5”] → 학생 태그에 있는 것 중 학번이 1-1-5인 애를 찾는것 //*[@학번=”1-1-5”] → 모든 태그 중 학번이 1-1-5인 애를 찾는 것 @: 속성 의미 HTML에서는 x path 찾기를 통해 경로가 확인 가능하다! → 로그인 태그를 찾기 위해서 해당 부분에 커서..
(1)뼈대용, 살점용 고수는 뼈대용 class, 살점용 class 각각 제작한다. .main-btn { font-size : 20px; padding : 15px; border : none; cursor : pointer; } .bg-red { background : red; } .bg-blue { background : blue; } 여기서 main-btn은 뼈대 class고, bg-red와 bg-blue는 살점 class이다. 이것을 호출할때, 구매하기 이렇게 해서 하나의 버튼에 뼈대 클래스와 살점 클래스를 동시에 호출하는 것이다. 보통 뼈대의 경우에는 통일되므로, 나눠 선언하면 뼈대는 자주 재사용이 가능하다. OOCSS( Object Oriented CSS ) - 작성 관습 (2) 만들어두면 편한 ..
마우스 커서 바꿔주는 함수 cursor: pointer; ''' 상태에 따라서 스타일을 줄 수 있는 Pseudo-class 셀렉터 ''' .btn:hover { background : chocolate;/*마우스를 올려놓을 때*/ } .btn:focus { background : red;/*클릭 후 계속 포커스 상태일 때*/ } .btn:active { background : brown;/*클릭 중일 때*/ } pseudo-class 셀렉터를 붙이면 여러 상태에 따른 스타일을 지정해줄 수 있다. hover, focus, active 스타일 넣을 때 순서를 꼭 이 순서대로 선언해야 잘 동작한다. hover focus activ 그외 다른 역할 태그들 :any-link/*방문 전, 방문 후 링크 한번에 선택..

표 만들땐 table 표 만들때 쓰는 테이블 : 가로 행을 만드는 태그 table row 의 의미 : 세로 열을 만드는 태그 table data의 의미 : 제목용 세로열 을 만들때 쓰는것 자동으로 Bold 처리가 된다 마치 헤더 태그와 비슷 🌟제목 ‘행’(사실상 1행)은 태그 내에, 일반 ‘행’은 태그 내에 따로따로 설정해주면 좋음. 기능상 차이, 혹은 특별한 역할은 없고, 그냥 분류를 위한 것임! *border 함수는 그냥 border함수 사용시 전체 선이 모두 선택되는 것이고, border-left, bottom, top, right 이렇게 나눠서 선을 표현해줄 수 있다. 은 기본적으로틈이 존재! 없애려면 table 스타일에 boarder-collapse: collapse 로 설정해주면 됨. 🌟보통 ..