티스토리 뷰
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 |