데이터 가공

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from selenium import webdriver
import os

browser = webdriver.Chrome('C:/Users/OHG/Downloads/chromedriver_win32/chromedriver') #Directory지정
browser.implicitly_wait(5) #암묵적으로 3초 딜레이
url = "https://www.youtube.com/watch?v=94YwFIJ-yR0&list=PL3Eb1N33oAXijqFKrO83hDEN0HPwaecV3&index=1"
browser.get(url)

for a in range(1, 2): #url의 개수
b = str(a)
os.mkdir(b + "번째 기사")
os.chdir(b + "번째 기사")
print(a, "번째 url open")
products = browser.find_elements_by_css_selector('#description > yt-formatted-string')
f = open("기사 대본.txt", 'w') #txt적기
for product in products:
Z = product.text
f.write(Z[:-117])
browser.save_screenshot("Website.png")
os.chdir("..")
browser.quit()
Read more »

Unreal Engine?

프로그래밍, 게임 기획, 사운드, 그래픽 수학, 효과, UI 등등 모두를 편하게 작업하게 해주는 게임 제작 툴


Unreal engine의 기능

  • 블루프린트 : 스크래치와 같이 프로그래밍 가능
  • C++ 소스 코드 제공
  • 시퀀서 : 영상 제작
  • 렌더링
  • 템플릿, 학습 자료
  • 마켓플레이스 : 모듈을 판매함
  • 멀티플레이어 프레임워크
  • 터레인, 폴리지
  • 고급 AI
Read more »

Docker로 부서진 멘탈을 복구시키고…

Selenium의 스크레이핑

Selenium을 import하기

1
from selenium import Webdriver

대응되는 Driver

1
2
3
4
5
6
Webdriver.Firefox
Webdriver.Chrome
Webdriver.Ie
Webdriver.Opera
Webdriver.PhantomJS
Webdriver.Remote

Selenium으로 DOM 요소 선택

74쪽

Read more »

Selenium

Javascript를 많이 사용하는 웹 사이트는 웹 브라우저를 사용하지 않으면 제대로 동작하지 않아 Requsest 모듈로 대처할 수 없다.

그래서 웹 브라우저를 원격을 조작할 수 있는 도구 Selenium을 사용한다.

  • 자동으로 URL을 열고 클릭할 수 있다
  • 스크롤하거나, 문자를 입력할 수 있다
  • 화면을 캡처해서 이미지로 저장하거나 HTML의 특정 부분을 꺼내는 것도 가능하다
  • 여러 다양한 조작을 자동화할 수 있다
  • 다양한 웹 브라우저에 대응한다
Read more »

HTTP 통신

웹 브라우저와 웹 서버는 HTTP라는 통신규약(프로토콜)을 사용해서 통신한다.

브라우저에서 서버로 요청(request), 서버에서 브라우저로 응답(response)할 때 어떻게 할지를 나타낸 규약이다.


쿠키

무상태(stateless) HTTP 통신으로는 회원제 사이트를 만들 수 없다.(stateless : 이전에 어떤 데이터를 가져갔는지 등에 대한 정보(상태 : state)를 전혀 저장하지 않는 통신)

방문하는 사람의 컴퓨터에 일시적으로 데이터를 저장하는 기능

하지만 1개의 쿠키4096byte의 데이터 크기 제한이 있다.
또한 쿠키HTTP 통신 헤더를 통해 읽고 쓸 수 있다. 따라서 방문자 혹은 확인자가 원하는 대로 변경할 수 있다.
하지만 위의 말대로 쉽게 변경이 가능하기에 비밀번호 등의 비밀 정보는 세션을 통해 다뤄진다.
새션쿠키를 사용해 데이터를 저장하는 점은 같다. 하지만, 방문자 고유 ID만을 저장하고, 실제로 모든 데이터는 웹 서버에 저장하므로 쿠키와는 다르게 저장할 수 있는 데이터에 제한이 없다.

Read more »