[파이썬] 웹 스크래핑
·
Python/Basic
멀티 프로세싱을 이용한 웹스크래핑 requests와 BeautifulSoup을 사용하여 웹 페이지를 가져오고 파싱 pip install requests beautifulsoup4 코드예시 import requests from bs4 import BeautifulSoup as bs import time from multiprocessing import Pool # 스크래핑 대상 컨텐츠: https://beomi.github.io/beomi.github.io_old/ # 하이퍼 링크 읽어오기 def get_links(): data = requests.get("https://beomi.github.io/beomi.github.io_old/").text soup = bs(data, 'html.parser') p..
[파이썬] 멀티프로세싱(multiprocessing)
·
Python/Basic
Python은 GIL(Global Interpreter Lock) 정책으로 인해 기본적으로 스레드를 사용한 병렬 처리가 제한되어 있습니다. 따라서 여러 스레드가 동시에 실행되지 않고 하나의 스레드에서만 실행됩니다. 이러한 제한을 극복하기 위해 Python은 multiprocessing 모듈을 제공합니다. 이를 사용하여 여러 프로세스를 생성하고 각각의 프로세스에서 병렬로 작업을 수행할 수 있습니다. 멀티 프로세싱이란? 멀티프로세싱(Multiprocessing)은 컴퓨터 프로그램이 여러 개의 프로세스를 동시에 실행하여 병렬로 작업을 처리하는 방법을 가리킵니다. 각 프로세스는 독립적인 메모리 공간을 가지며, 각각이 별도의 작업을 수행할 수 있습니다. 이 방법은 다수의 중앙 처리 장치(CPU)를 활용하여 여러 ..
[파이썬] 소켓프로그래밍-간단한 채팅프로그램 구현
·
Python/Basic
import socket import threading # 서버 소켓 생성 및 바인딩 ss = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ss.bind(('192.168.0.26', 5555)) # 서버의 IP 주소와 포트를 지정합니다. ss.listen(5) # 클라이언트의 연결 요청을 기다립니다. print('채팅 서버 서비스 중........') users = [] # 연결된 클라이언트들을 저장할 리스트 # 클라이언트와 채팅을 수행하는 함수 def chatUser(conn): name = conn.recv(1024) # 클라이언트로부터 이름을 받아옵니다. data = '^^ ' + name.decode('utf-8') + '님 입장' print(data..
[파이썬] Thread(스레드)
·
Python/Basic
스레드란? 스레드(Thread)는 프로그램이 동작할 때, 동시에 여러 작업을 수행할 수 있게 해주는 중요한 개념입니다. 이는 파이썬뿐만 아니라 모든 프로그래밍 언어에서 중요한 개념으로 사용됩니다. 프로세스와 스레드 프로세스는 운영체제 상에서 실행 중인 하나의 프로그램을 나타냅니다. 각 프로세스는 독립적으로 실행되며, 각각이 별도의 메모리 공간을 가집니다. 이와 달리, 스레드는 프로세스 내에서 동작하며, 같은 프로세스 내의 스레드들은 메모리를 공유합니다. 이를 통해 작업을 빠르게 처리할 수 있습니다. import threading def function1(): for i in range(50000 + 1): print("function1: ", i) def function2(): for i in range..
[파이썬] Socket(소켓)
·
Python/Basic
소켓이란? 소켓은 프로그램과 운영 체제 간의 인터페이스 역할을 합니다. 프로그램에서 소켓 작업을 요청하면, 운영 체제는 그 요청을 받아들여 새로운 소켓을 생성합니다. 이 소켓을 통해서만 외부 네트워크와 통신할 수 있습니다. 비유로 설명하자면, 소켓은 프로그램 내부에서 "창구" 역할을 하며, 실제 통신은 소켓들 간에 이루어집니다. 예를 들어, 채팅 프로그램에서 우리가 메시지를 보내면, 실제로는 소켓을 통해 상대방에게 전달되고, 그 소켓을 통해 메시지가 받아지게 됩니다. 채팅 프로그램 자체는 외부 네트워크와 직접 통신하지 않습니다. 또한, 소켓은 양쪽 프로그램 간의 통신을 중개하는 역할을 합니다. 예를 들어, 소켓 A는 프로그램 1과 통신하고, 소켓 B는 프로그램 2와 통신하며, 소켓 A와 B는 서로 메시지..
[파이썬] 원격 database(MariaDB)와 연동
·
Python/Basic
MariaDB는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)으로, Python에서 이를 활용하여 데이터베이스 작업을 수행할 수 있습니다. 이번 포스팅에서는 Python에서 MariaDB와 연동하고, 데이터베이스 작업을 수행하는 예제 코드를 다뤄보겠습니다. 1. 라이브러리 설치 먼저, Python에서 MariaDB를 활용하기 위해 MySQLdb 라이브러리를 설치합니다. 아래 명령을 사용하여 설치할 수 있습니다. pip install mysqlclient 2.데이터베이스 연결설정 import MySQLdb config = { 'host':'127.0.0.1', 'user':'사용자', 'password':'패스워드', 'database':'사용하는 데이터베이스명', 'port':3306, 'cha..
[파이썬] Pickle 활용방법
·
Python/Basic
pickle이란? pickle은 파이썬에서 사용하는 딕셔너리, 리스트, 클래스 등의 자료형을 변환 없이 그대로 파일로 저장하고 이를 불러올 때 사용하는 모듈입니다. ▶ 즉, 단순한 텍스트를 저장하는 것이 아니라 규칙이 있는 데이터를 파일로 저장할 때는 데이터 형식을 유지할 수 있어야 하는데, 파이썬에서 형식을 유지하면서 데이터를 저장하는 가장 쉬운 방법은 pickle 모듈을 사용하는 것입니다. # '피클링(일반 객체 및 복합 객체 file i/o) - object type으로 저장' 출력 print('피클링(일반 객체 및 복합 객체 file i/o) - object type으로 저장') # pickle 모듈을 임포트합니다. import pickle try: dictData = {'tom': '111-11..
[파이썬] File I/O
·
Python/Basic
1. 파일 열기 (open()) - open() 함수를 사용하여 파일을 엽니다. 이 함수는 파일 객체를 반환합니다. # file 입출력 import os print(os.getcwd()) # 현재 작업하고 있는 모듈의 경로명 반환 # mode='r(read)','w(write)','a(append)','b(binary)','t(text)' # 파일을 읽기 모드로 열기 file = open("파일 경로", "r") # 파일을 쓰기 모드로 열기 file = open("파일 경로", "w") # 파일을 추가 모드로 열기 file = open("파일 경로", "a") "r": 읽기 모드 (기본값) "w": 쓰기 모드 "a": 추가 모드 (파일 끝에 내용을 추가) 2. 파일 읽기 (read()) read() 함수..
richpotato
'Python' 카테고리의 글 목록 (3 Page)