본문 바로가기

개발이야기/Python

(4)
Python - StackOverflow Scrapper 만들기 지난 번 강의는 Indeed Scrapper 만들기였다면 이번에는 StackOverflow Scrapper 만들기 + CSV 파일 쓰고 저장하기이다. 이번 꺼도 Go 언어 때랑 큰 차이가 없기 때문에 코드만 붙여넣기! 그 동안 작성한 코드는 VS Code에 그대로 옮겨 커밋해두었다. import requests from bs4 import BeautifulSoup URL = f"https://stackoverflow.com/jobs?q=python" def get_last_page(): result = requests.get(URL) soup = BeautifulSoup(result.text, "html.parser") pages = soup.find("div", {"class":"s-pagination..
Python - Indeed Scrapper 만들기 이번에는 VS Code를 이용하여 코드를 작성하지 않고 replit.com에서 진행했다. (파이썬을 오늘 처음 접하는 나는, VS Code에 파이썬 환경을 설치해보려 했지만 많은 에러로 인해 결국 replit에서 진행하게 되었다..ㅠㅠ) Go 강의했던 크롤링 코드를 파이썬으로 다시 한 번 작성하는 거라 많은 주석을 써놓지는 않았지만, 웹에 작성해놓은 코드가 날아가는 불상사를 막기 위하여 현재까지 작성한 코드를 그냥 붙여넣어 보려한다. import requests from bs4 import BeautifulSoup LIMIT = 50 URL = f"https://www.indeed.com/jobs?q=python&limit={LIMIT}" def extract_indeed_pages(): result =..
Python - 함수 (Function) / 메소드(Method) Python에서는 함수를 만든다기보다 정의한다(define)고 하며 함수가 'def'로 시작한다. Java 외의 다른 언어와 같이 함수의 처음과 끝을 중괄호{}로 표기하지 않고, 들여쓰기나 공백으로 표시한다. # Java function main() { System.out.println("HELLO") } # Python def hello(): print("HELLO") print("BYE") """ 위와 같이 작성했을 경우 "HELLO"는 함수내에 있지만 "BYE"는 함수 밖에 있기 때문에 hello()를 호출했을 때 작동하지 않음 """ # Python 옳은 코드 def hello(): print("HELLO") print("BYE") 또 하나의 특이점은 함수에 인자를 넘길 때 타입을 명시하지 않는다..
Python - 변수 타입(Variable Type) 변수 타입을 지정해줘야하는 자바와 지정해주지 않아도 알아서(?) 판단하는 Go, Python까지.. 비슷비슷해보여도 다른 게 외국어보다는 사투리 같달까? 암튼 매우 흥미롭다. 기본적으로 Java나 Go언어와 동일한 부분은 따로 작성하지 않으려한다. 그럼 시작! Python 역시 변수명 앞에 타입을 표기하지는 않지만 Java와 다른 점이 있다면 True, False, None 등과 같은 값이 대문자로 시작한다는 것! 또한 암묵적으로 Java는 camelCase를 쓰는 반면 Python은 snake_case를 사용한다. // Java int a = 3; String abd = "abc"; boolean flag = false; // Python a_number = 3 a_boolean = False a_no..