본문 바로가기

Python35

파이썬으로 MySQL 연동하기 파이썬으로 MySQL을 연동하기 위해서는 pymysql 라이브러리를 설치해야 한다. # 터미널로 실행하기 pip install pymysql pip 로 설치가 완료 되었다면 python 으로 코드 실행하기 import pymysql 파이썬과 MySQL의 연동방식 pymysql 라이브러리를 이용하면 파이썬과 MySQL을 연동하는 데이터베이스 연동 프로그램을 작성할 수 있다. 파이썬에서 데이터 입력하기 1. MySQL 연결하기 연결자 = pymysql.connect(연결 옵션) 커서 생성하기 커서 이름 = 연결자.cursor() 테이블 만들기 커서이름.execute("CREATE TABLE 문장") 데이터 입력하기 커서이름.execute("INSERT 문장") 입력한 데이터 저장하기 연결자.commit() .. 2023. 5. 26.
파이썬 동적 크롤링 우선 자신이 사용하는 웹 브라우저에 맞는 드라이버를 다운받기. (필자는 크롬 브라우저를 사용하기 때문에 크롬 드라이버를 설치함) 이후 selenium 라이브러리를 설치한다. pip install selenium selenium 라이브러리를 설치한 이후 파이썬에 import 하기 from selenium import webdriver from selenium.webdriver.common.by import By from bs4 import BeautifulSoup from urllib.request import urlopen selenium 으로 DOM에 접근하는 방법 단일 객체 반환(bs4 - BeautifulSoup 의 find()와 같은 형태) find_element 리스트 객체 반환(bs4 의 fi.. 2023. 5. 11.
파이썬 정적 크롤링 정적 크롤링은 어느 상황에서나 같은 주소에서 변하지 않는 데이터를 기대할 수 있는경우 사용하며 수집대상에 한계가 있으나 속도가 빠르다는 장점이 있다. BeautifulSoup 요청 모듈로 가져온 HTML 코드를 파이썬이 쓸 수 있는 형태로 변환해주는 역할을 한다. from bs4 import BeautifulSoup from urllib.request import urlopen # url 정보를 url 변수에 담음 url = "http://www.naver.com" # urlopen() 함수에서 url 정보를 담은 변수로 # 해당 url에 보내서 page 정보를 가져온 후 page 변수에 담는다 page = urlopen(url) # html 코드 정보가 BeautifulSoup이 해석해서 # 파이썬이 .. 2023. 5. 10.
파이썬 웹 크롤링 파이썬 웹 크롤링 크롤러 : 알고리즘에 의해 인터넷을 탐색하는 프로그램 크롤링 : 크롤러가 웹페이지들을 돌아다니는 행위 스크래퍼 : 웹페이지의 데이털르 수집하는 프로그램 스크래핑 : 특정 페이지의 데이터를 수집하는 행위 - 통상적으로 크롤링과 스크래핑을 합쳐서 크롤링이라고 표현한다. 웹 크롤링 방식 정적 크롤링 어느 상황에서나 같은 주소에서 변하지 않는 데이터를 기대할 수 있는 경우 사용한다. 수집 대상의 한계가 있으나 속도가 빠르다. 사용모듈 : BeautifulSoup 동적 크롤링 입력, 클릭 등 실제 브라우저에서 행하는 행동들을 해야만 데이터를 수집할 수 있는 경우 사용한다. 수집 대상에 한계가 적으나 속도가 느리다. 사용 모듈 : Selenium 웹 크롤링에서 각자의 장 단점이 있기 때문에 그것을.. 2023. 5. 10.
파이썬 상속 상속(inheritance) 다른 누군가가 만들어 놓은 기본 형태에 내가 원하는 것만 추가하거나 교체하는 것이다. 기반이 되는 것을 부모(parent)라고 부르고, 이를 기반으로 생성된 것을 자식(child)라고 부른다. 부모가 자식에게 자신의 기반을 물려주는 것이기 때문에 상속이라고 불린다. class Person: # 부모 클래스 def __init__(self, name): self.name = name def eat(self, food): print(self.name + "가 " + food + "를 먹습니다.") class Student(Person): # 자식 클래스 def __init__(self, name, school): super().__init__(name) self.school = .. 2023. 5. 10.
파이썬 프라이빗 변수와 getter, setter 프라이빗 변수 클래스 내부의 변수를 외부에서 사용하는 것을 막고 싶을 때 사용한다. 표현 방법 __변수이름 import math class Circle: def __init__(self, radius): self.__radius = radius def get_ciucumference(self): return 2 * math.pi * self.__radius def get_area(self): return math.pi * (self.__radius ** 2) # 원의 둘레와 넓이 구하기 circle = Circle(10) print("원의 둘레", circle.get_ciucumference()) print("원의 넓이", circle.get_area()) print("반지름", circle.__radi.. 2023. 5. 10.
파이썬 가비지 컬렉터 가비지 컬렉터(grabage collector) 프로그램 내부에서 무언가를 생성한다는 것은 메모리에 올린다는 의미이다. 프로그램에서 변수를 만들면 메모리가 데이터에 올라가고, 계속 만들어지면 메모리가 가득 차게 된다. 이 때 메모리가 부족해지면 컴퓨터는 하드디스크를 메모리처럼 사용하는데 이 동작을 스왑(swap) 이라고 한다. 하드디스크는 메모리보다 훨씬 느리기 때문에 스왑을 처리하는 속도 또한 느릴 수 밖에 없다. 따라서 이러한 상황을 만들지 않기 위해서 파이썬에서는 가비지 컬렉터 라는것을 만드는데 가비지 컬렉터는 더 사용할 가능성이 없는 데이터를 자동으로 메모리에서 제거해 메모리를 정리해 주는 역할을 한다. 변수에 저장하지 않은 경우(소멸자를 통해 확인하기) class Test: def __init_.. 2023. 5. 10.
파이썬 클래스 변수와 클래스 메서드 객체가 변수와 메서드를 가지는 것 처럼 클래스도 변수와 메서드를 가질 수 있다. 클래스 변수 표현 방법 class 클래스이름: 클래스 변수 = 값 클래스 변수에 접근하는 방법 클래스이름.변수이름 class Korean: country = "한국" # 클래스 변수 country def __init__(self, name, age, address): self.name = name # 인스턴스변수 self.name self.age = age # 인스턴스변수 self.age self.address = address # 인스턴스변수 self.address man = Korean("홍길동", 35, "서울") print(man.name) # 결과값 # 홍길동 print(Korean.name) # 결과값 # Attr.. 2023. 5. 10.
파이썬 특수한 이름의 메서드 __이름__() 형태의 메서드들은 특수한 상황에 자동으로 호출되도록 만들어졌다. 파이썬이 클래스를 사용할 때 제공해주는 보조 기능이다. 1. __str__ str() 함수의 매개변수로 객체를 넣으면 호출되는 메서드이다. 주로 객체를 문자열로 변환할 때 사용한다. class Student: def __init__(self, name, korean, math, english, science): self.name = name self.korean = korean self.math = math self.english = english self.science = science def get_sum(self): return self.korean + self.math + self.english + self.scien.. 2023. 5. 10.