본문 바로가기

Python78

[Python] 유저 에이전트(User Agent)와 셀레니움 옵션 설정에 대해 Options() 셀레니움을 사용하여 자동화 작업을 할 때, 사이트에서 매크로를 탐지하거나 차단하는 경우가 있습니다.이를 회피하기 위해 사용자 에이전트(User Agent) 값을 조작할 수 있습니다.사용자 에이전트는 브라우저와 운영 체제 정보를 웹 서버에 제공하여 콘텐츠를 최적화하는 데 사용됩니다.안드로이드 계열의 유저 에이전트를 설정하면, 셀레니움이 안드로이드 기반의 브라우저로 인식되어 웹 서버에서 매크로를 탐지하기 어려워집니다.적용법일반 브라우저에서의 유저 에이전트 확인:개발자 도구를 열고 콘솔창에 navigator.userAgent를 입력합니다.나오는 값은 해당 브라우저의 유저 에이전트입니다.셀레니움 옵션으로 설정:options.add_argument('user-agent=...')를 사용하여 원하는 유저 에이전트 .. 2024. 5. 27.
[Python] 명령 인자값(command-line arguments) 받는 법 sys.argv 파이썬에서 명령 인자값(command-line arguments)을 받는 가장 일반적인 방법은 sys.argv를 사용하는 것입니다.  이 방법은 Python의 sys 모듈을 이용하여 가능합니다. import sysprint(sys.argv) 위 코드는 프로그램이 실행될 때 전달된 모든 명령 인자값을 리스트 형태로 출력합니다. 첫 번째 요소는 실행된 스크립트 파일의 이름이며, 그 뒤로는 전달된 인자값들이 순서대로 나열됩니다.예를 들어, python main.py abc를 실행했을 때, 위 코드를 실행하면 ['main.py', 'abc']가 출력됩니다.추가 설명명령 인자값을 사용하여 프로그램에 입력값을 전달할 수 있습니다.이를 통해 프로그램이 실행될 때 동적으로 동작하도록 만들 수 있습니다.예를 들어, 파일.. 2024. 5. 27.
[Python] requests 예외처리 방법과 각 예외별 설명 ConnectionError, Timeout, TooManyRedirects, HTTPError, RequestException, Exception requests 라이브러리를 사용할 때 발생할 수 있는 여러 가지 예외들을 처리하는 방법  ConnectionError:서버에 연결할 수 없거나 DNS 조회에 실패하는 경우 발생합니다.import requeststry: response = requests.get(url)except requests.exceptions.ConnectionError as e: print("서버에 연결할 수 없습니다:", e) Timeout:요청 시간 초과가 발생한 경우 발생합니다.import requeststry: response = requests.get(url, timeout=5)except requests.exceptions.Timeout as e: print("요청 시간 초과입니다:", e) To.. 2024. 5. 27.
[Python] 리스트와 문자열 간 변환 방법과 관련 함수 설명 join(), split() 리스트를 문자열로 변환하는 방법리스트의 각 요소를 특정 구분자로 연결하여 하나의 문자열로 만드는 방법입니다. 이를 위해 join() 메서드를 사용합니다."구분자".join(리스트) join(): 문자열 메서드 중 하나로, 리스트의 각 요소를 하나의 문자열로 결합하는 역할을 합니다.문자열을 리스트로 변환하는 방법문자열을 특정 구분자를 기준으로 분할하여 리스트로 만드는 방법입니다. 이를 위해 split() 메서드를 사용합니다.문자열.split(구분자)split(): 문자열 메서드 중 하나로, 문자열을 지정된 구분자를 기준으로 분할하여 각각의 요소로 하는 리스트를 생성합니다. 2024. 5. 27.
[Python] enumerate() 함수 설명과 예제 enumerate() 함수는 반복 가능한(iterable) 객체(리스트, 튜플, 문자열 등)를 입력으로 받아 각 요소와 해당 요소의 인덱스를 튜플 형태로 반환하는 반복자(iterator)를 생성합니다. 이때, 인덱스는 0부터 시작합니다.  enumerate() 함수의 사용법은 다음과 같습니다.for index, value in enumerate(iterable, start=0): # 코드iterable: 반복 가능한 객체(리스트, 튜플, 문자열 등)를 의미합니다.start: 옵션 매개변수로, 인덱스의 시작 값을 지정할 수 있습니다. 기본값은 0입니다. 인덱스와 값은 튜플의 형태로 반환되며, index 변수에는 인덱스가 저장되고 value 변수에는 해당 요소의 값이 저장됩니다.예를 들어, 다음과 같이.. 2024. 5. 27.
[Python] 복잡한 데이터 구조를 보기 좋게 출력하는 법 pprint() 복잡한 데이터 구조를 보기 좋게 출력하는 법import pprintdata = { 'name': 'John', 'age': 30, 'languages': ['Python', 'JavaScript', 'Java'], 'address': { 'street': '123 Main St', 'city': 'Anytown', 'zip': '12345' }}pprint.pprint(data) 위 코드에서는 pprint() 함수를 사용하여 data 딕셔너리를 출력합니다.출력 결과는 들여쓰기가 적용되어 보기 좋게 나타납니다.예시 데이터는 복잡한 구조를 가지고 있으며, pprint() 함수를 사용함으로써 이를 보다 쉽게 이해할 수 있습니다.pprint() 함.. 2024. 5. 27.
[Python] 딕셔너리 데이터를 JSON 형식 문자열로 변환하는 방법 json.dumps() 딕셔너리 데이터를 JSON 형식 문자열로 변환하는 방법import jsonresult_str = json.dumps(딕셔너리 데이터, indent=4) json.dumps() 함수는 주어진 파이썬 객체(딕셔너리, 리스트 등)를 JSON 형식의 문자열로 변환합니다. indent 매개변수를 사용하면 JSON 문자열을 들여쓰기하여 보기 좋게 출력할 수 있습니다. 2024. 5. 27.
[Python] JSON 형식인 문자열을 리스트나 딕셔너리로 변환하는 방법 json.loads() JSON 형식인 문자열을 리스트나 딕셔너리로 변환하는 방법import jsonresult_dict_or_list = json.loads(문자열) json.loads() 함수는 주어진 JSON 형식의 문자열을 파이썬 객체(딕셔너리, 리스트 등)로 변환합니다. 이 함수가 반환하는 객체의 타입은 JSON 문자열의 구조에 따라 결정됩니다.JSON 객체가 중괄호 {}로 시작하는 경우:이 경우에는 JSON 객체가 파이썬의 딕셔너리로 변환됩니다.예를 들어, {"key": "value"}와 같은 JSON 문자열은 파이썬의 딕셔너리 { "key": "value" }로 변환됩니다.JSON 배열이 대괄호 []로 시작하는 경우:이 경우에는 JSON 배열이 파이썬의 리스트로 변환됩니다.예를 들어, [1, 2, 3]와 같은 JS.. 2024. 5. 27.
[Python] 문자열을 딕셔너리나 리스트로 변환하는 방법 literal_eval() 문자열을 딕셔너리나 리스트로 변환하는 방법 from ast import literal_evalresult_dict_or_list = literal_eval(문자열) literal_eval() 함수는 주어진 문자열을 파이썬의 리터럴 구조로 해석하여 해당하는 객체(딕셔너리, 리스트 등)를 반환합니다. 2024. 5. 27.
[Python] Beautifulsoup 라이브러리 설명과 사용법 beautifulsoup(), find(), find_all(), select(), select_one() Beautiful Soup은 HTML 및 XML 문서를 파싱하고 구문 분석하기 위한 파이썬 라이브러리입니다. 이 라이브러리는 웹 스크래핑 및 데이터 추출 작업에 널리 사용됩니다. 주요 기능은 다음과 같습니다:파싱(Parsing): Beautiful Soup은 HTML 및 XML 문서를 구문 분석하여 파이썬 객체로 변환합니다. 이를 통해 문서 내에서 데이터를 탐색하고 추출할 수 있습니다.데이터 추출: Beautiful Soup은 문서 내에서 특정 태그, 클래스, ID 등을 검색하여 데이터를 추출할 수 있습니다. 이를 통해 웹 페이지에서 텍스트, 링크, 이미지 등 다양한 유형의 데이터를 쉽게 추출할 수 있습니다.탐색(Navigation): Beautiful Soup은 문서 내에서 태그 간의 관계를 탐색할 수.. 2024. 5. 27.