💻dev/🐍Python

이번 포스팅에서는 추출한 데이터를 csv파일로 만들고 flask 맛보기로 웹서버에 웹 스크래퍼가 가져온 데이터를 뿌려볼 것이다. 파일로 내보내는 save_to_file 함수 생성 def save_to_file(file_name, jobs): #파일로 읽고 쓰기 file = open(f"{file_name}.csv", "w") #쓰기전용 #파일에 헤더 쓰기 file.write("Position, Company, Location, URL\n") #파일에 쓰기 for job in jobs: file.write(f"{job['position']},{job['company']},{job['location']},{job['link']}\n") file.close() open()은 파이썬 내장함수 이므로 따로 imp..
https://weworkremotely.com 에서 스크래핑 - 웹사이트에서 python을 검색해보면 Url 끝부분이 다음과 같은 것을 확인할 수 있다. https://weworkremotely.com/remote-jobs/search?&term=python 따라서 그 부분을 활용하여 스크래핑을 다음과 같이 수행하려 한다. 1. base url을 정의 2. 검색어(search_term)을 정의 3. requests 패키지를 사용하여 get 요청으로 response를 받는다. 4. Html 파서인 BeautifulSoup 패키지를 사용한다. 5. 해당하는 태그만 추출하여 데이터를 가공한다. 6. 데이터를 dictionary 형태로 만들고 return한다. BeautifulSoup라는 패키지 처음 써봤는데..
웹 크롤링이랑 웹 스크래핑... 다른거임? 네. 다릅니다. 크롤링은 '기어 다니다' 라는 뜻을 가졌죠. 웹 크롤링은 URL을 탐색해 반복적으로 링크를 찾고 가져오는 과정을 말합니다. 반면 웹 스크래핑은 특정한 웹 페이지에서 데이터를 추출하는 것입니다. 예를 들어 원하는 주제의 뉴스만을 추출하거나, 어떤 상품의 가격 비교를 하는 것 모두 웹 스크래핑입니다. 스크래핑을 하고자 하는 특정 웹 사이트가 있고 그곳에서 필요한 정보만 가져옵니다. 둘은 엄연히 다르다는 점을 잊지 맙시다! 데이터 가져오는 거 불법 아님? 데이터 마음대로 가져와도 됨? 결론부터 말하자면 데이터를 스크래핑 하는 것 그 자체는 불법이 아닙니다. 하지만 각 웹사이트마다 데이터 관리 목적에 따라 접근을 막아놓은 페이지도 있습니다. 알아보려면 ..
배경 코딩 테스트 언어로 파이썬을 선택한 후에 파이썬을 다루다보니 이 언어에 대한 강한 매력을 느꼈다. 이론만 줄줄 공부하는 것은 적성에 맞지 않으므로 뭐라도 만들어볼까? 하고 시작하려는 참이었다. 가벼운 웹 스크래퍼를 만들고자 하였고 구글에 검색하자마자 발견한 '노마드 코더'의 무료 강의! 덕분에 재미있게 배웠습니다. Thanks Nico! 강의 링크 https://nomadcoders.co/python-for-beginners/lobby Python으로 웹 스크래퍼 만들기 – 노마드 코더 Nomad Coders Python For Beginners nomadcoders.co 그래서 웹 스크래퍼가 뭐임? 기술 스택은? 준비물은? 말그대로 '웹'에서 '스크랩'을 한다. 신문 기사를 스크랩 했던 어린 시절..
파이썬 기초 문법 코딩테스트 언어를 파이썬으로 결정하면서 문법에 대해 짚고 넘어가고 싶었다. 해당 포스팅은 이것이 코딩 테스트다 with 파이썬의 저자, 나동빈님의 유튜브 강의를 들으며 개인적으로 정리한 내용이다. 알기 쉽게 강의해주셔서 듣기 편했고 궁금한 점이 바로 해결되어 좋았다. 강의 링크는 아래에 첨부한다. https://youtu.be/m-9pAwq1o3w 출력 print()는 기본적으로 출력 이후에 줄 바꿈을 수행 f-string: 문자열 앞에 접두사 f를 붙여 사용, 중괄호 안에 변수명을 기입하여 간단히 문자열과 정수를 함께 넣을 수 있음 print("Hello World") #fstring answer = 7 print(f"정답은 {answer}") 입력 input() 한 줄의 문자열을 입..
쁜새
'💻dev/🐍Python' 카테고리의 글 목록 (2 Page)