티스토리 뷰

TIL - 2022

[TIL 002] 20220228

바랄 희 2022. 3. 1. 00:31

01 | sqld 

 

오늘은 docker 를 통해서 oracle 11g express 를 깔았다. 그런데 sql for developers 가 잘 작동되지 않아서 내일 이유를 더 찾아봐야 할 것 같다. 6장에 있는 여러 함수들과 7장의 데이터 집계 GROUP BY 를 공부했다. 그런데 책의 예시로는 잘 이해가 가지 않아서 자료들을 더 찾아보았다.

 

참고한 링크

 

해당 링크를 보고 나니 조금 더 group by 에 대한 개념이 명확해질 수 있었다. 내가 이해한 바로는 GROUP BY __컬럼명 ____ 은 어떤 컬럼을 기준으로 그룹화하여 데이터를 보여주는 것이다. 

예를 들어, 어떤 가게에서 파는 물건들을 나타내는 테이블이 있다고 가정해보자. 여기에는 오늘 하루 팔린 재고 수, 남은 재고 수 등이 담겨 있다. 직원은 오늘 가장 많이 팔린 물건의 카테고리가 궁금하다. 

이 테이블 명을 products 라고 해보자!  그리고 팔린 재고 수를 나타내는 컬럼이 sold, 남은 재고수 leftover, 품목명 product_name, 품목 카테고리 product_category 으로 가정해보자.

 

SELECT product_category, product_name, CNT(sold) AS cnt
FROM products
GROUP BY product_category,product_name

 

하면 product_category와 product_name 즉 품목 카테고리와 품목명에 의하여 그룹화가 되고, 

 

product_category product_name cnt
식기도구 냄비 38
세면도구 세안밴드 10

 

와 같이 될 것이다. 

 

02 | 크롤링

 

 

driver = webdriver.Chrome(chromedriver)

 

인 경우에 driver.title이 사이트의 제목이었듯, 사이트의 url 을 driver.current_url 로 알 수 있다.

이는 다른 Url 로 이동해야 하는 경우에 유용하게 쓰인다.

 

* css selector 로 데이터 가져오기

find_element_by_css_selector() => copy 를 selector 로 할 경우 유용하게 쓸 수 있다. 

 

get_attribute('text') 하면 text 함수 사용할 필요 없이 바로 텍스트 추출이 가능하다. 

 

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
chromedriver = '/Users/jinseunghee/Documents/chromedriver'
driver = webdriver.Chrome(chromedriver)

#내 티스토리 제목 전부 프린트하기 

driver.get("https://heethehope.tistory.com/")
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")
elem = driver.find_elements_by_class_name("title") #리스트로 저장됨. 
for i in range(len(elem)):
    print(elem[i].text)
    print("========")
driver.quit()

 

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
chromedriver = '/Users/jinseunghee/Documents/chromedriver'
driver = webdriver.Chrome(chromedriver)

#내 티스토리 제목 전부 프린트하기 

driver.get("https://heethehope.tistory.com/")
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")



elem = driver.find_elements_by_css_selector("#content > div.inner > div.post-item > a > span.title")
print(elem)
for i in range(len(elem)):
    print(elem[i].text)
    print("=====")
    
driver.quit()

'TIL - 2022' 카테고리의 다른 글

[TIL 006] 20220305  (0) 2022.03.05
[TIL 005] 20220304  (0) 2022.03.05
[TIL 004] 20220303  (0) 2022.03.04
[TIL 003] 20220302  (0) 2022.03.02
[TIL 001] 20220225  (0) 2022.02.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함