본문 바로가기

코딩 공부/Python8

[Web/Crawling] BeautifulSoup BeautifulSoup HTML정보로 부터 원하는 데이터를 가져오기 쉽게, 비슷한 분류의 데이터별로 나누어주는(parsing) 파이썬 라이브러리로 정적 크롤링에 사용이 됩니다. 설치 방법 pip install requests pip install beautifulsoup4 위 코드로 설치를 합니다. request 라이브러리란 Python용 HTTP 라이브러리이다. 특정 웹사이트에 HTTP 요청을 보내 HTML 문서를 받아올 수 있는 라이브러리로, BeautifulSoup에 의해 살아있는 HTML 문서로 바뀌게 된다. 사용 예시 from bs4 import BeautifulSoup as BS import requests as req url = "https://finance.naver.com/sise/la.. 2023. 7. 10.
[Web/Crawling] Selenium Selenium Selenium은 웹 사이트가 만들어질 때, 그것들은 테스트하기 위해 생긴 것입니다. 하지만 마치 우리가 웹 사이트를 이용하는 것처럼 홈페이지를 제어할 수 있어서 이 점을 이용하여 동적 크롤링에 사용됩니다. 사용방법 1. 웹드라이버 Selenium을 사용하기 위해서는 웹 드라이버가 필요합니다. 우리가 설치할 웹 드라이버는 브라우저마다 서로 다르고 크롬, 파이어폭스, 인터넷 익스플로러 등등 모두 자신만의 웹 드라이버가 있습니다. 크롬의 경우, 오른쪽 상단의 점 세개를 클릭 후, 도움말 → Chrome 정보를 누르면 본인의 크롬 버전을 확인할 수 있습니다. 이후, https://chromedriver.chromium.org/downloads 에서 버전에 맞는 웹 드라이버를 다운 받으면 됩니다.. 2023. 7. 10.
[Pyside6] PyQt PyQt PyQt란, Qt의 레이아웃에 Python의 코드를 연결하여 GUI 프로그램을 만들 수 있게 해주는 프레임워크를 의미합니다. PyQt는 C++의 Cross Platform GUI Framework인 Qt를 영국의 Riverbank Computing에서 Python 모듈로 변환해주는 툴을 만들어주며 시작되었습니다. PyQt의 특징 Python에도 PyGTK, PySide, Tkinter등 다양한 GUI Framework가 존재합니다. 하지만 이런 GUI Framework들은 사용하기도 어렵고, 시각적으로 예쁘지 않다는 단점이 있습니다. PyQt는 이러한 Framework들과 다르게 시각적으로도 괜찮은 디자인을 보여주면서 Qt Designer라는 프로그램을 이용하여 프로그램을 손쉽게 설계할 수 있다.. 2023. 7. 10.
[Selenium/Docker] AttributeError: 'NoneType' object has no attribute 'to_capabilities' 강의로 selenium 공부하던 중 아래 코드를 실행했더니 다음과 같은 오류가 발생했다. from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities browser = webdriver.Remote("http://127.0.0.1:4444/wd/hub", DesiredCapabilities.CHROME) browser.get("http://naver.com") print(browser.title) browser.close() Traceback (most recent call last): File "d:\Python_FastCampus\dynamic_crawling\tes.. 2023. 7. 3.
크롤링 크롤링(crawling) 데이터를 수집하고 분류하는 것을 의미한다. 주로 인터넷상의 웹페이지를 수집해서 분류하고 저장하는 것을 뜻하며 데이터가 어디에 저장되어 있는지 위치에 대한 분류 작업이 크롤링의 주요 목적이다. 웹 크롤러(web crawler) 조직적, 자동화된 방법으로 월드 와이드 웹을 탐색하는 컴퓨터 프로그램 - 크롤링 종류 1. 정적 크롤링 정적크롤링은 정적인 데이터를 수집하는 방법을 말합니다. 또한 하나의 페이지 내에서 모든 작업이 이루어지기 때문에 속도가 매우 빠르다는 장점을 가집다. 정적인 데이터 변하지 않는 데이터를 의미합니다. 즉 한 페이지 안에서 원하는 정보가 모두 드러날때 정적 데이터라고 할 수 있다. 2. 동적 크롤링 동적크롤링은 동적인 데이터를 수집하는 방법을 말합다. 정적 크.. 2023. 6. 21.
Django Django Python 프로그래밍 언어로 작성되는 웹 애플리케이션의 개발 속도를 가속화할 수 있는 무료 오픈 소스 프레임워크입니다. 장고를 통해 제작된 대표적인 웹사이트로는 인스타그램 NASA Spotify 요기요 등이 존재합니다. 특징 1. MTV 장고는 MVC (Model-View-Controller)을 기반으로 한 프레임 워크이다. 하지만 장고에서는 View를 Template, Controller를 View라고 부른다. 장고에서 View는 데이터를 가져오고 변형하는 컴포넌트인 반면에 Template은 데이터를 사용자에게 보여주는 컴포넌트입니다. 그래서 장고를 흔히 MVT (Model-View-Template) 프레임워크라고 부른다. 2. 자동으로 구성되는 관리자 화면 장고는 웹서비스 콘텐츠 즉 데.. 2023. 5. 11.