크롤링6 [크롤링] 셀레늄(selenium) 활용 ; 구글 검색 후 이미지 다운로드 셀레늄 활용하여 크롤링하기 webdriver-manager 라이브러리를 활용하여 크롬드라이버의 지속적 업데이트 없이 크롤링 하는 법 1. 라이브러리 설치 pip install webdriver-manager 2. 셀레늄 활용 기본 코드 기본적으로 활용할 수 있는 코드는 아래 네 줄이다. drivers.get() 에 웹사이트 주소를 입력하면 된다. 셀레늄 코드 작성 팁 : 사람이 찾는것과 동일한 동선을 떠올리며 코드를 작성한다 # 아래 네 줄을 계속 활용하면 됨! from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService from webdriver_manager.chrome impor.. 2023. 8. 8. [웹 크롤링] 주식 일별 시세를 데이터프레임으로 저장하기 주식 일별 시세 >> dataframe으로 결합하기 다음과 같은 종목별 일별 시세 내용을 데이터 프레임으로 저장할 수 있도록 크롤링 해보자 1. 라이브러리 import import requests from bs4 import BeautifulSoup import pandas as pd from fake_useragent import UserAgent 2. 데이터를 가져올 수 있는 함수 정의 🔎 getData() 함수의 입력 파라미터는 다음과 같다 url: 데이터를 스크래핑할 웹 페이지의 URL com_code: 크롤링할 종목코드 soup: (다른 함수에서 return 할 값, 다른 함수 참고) page: 스크래핑할 페이지 수 (예, 1 페이지부터 ~ 10페이지까지 크롤링할 경우 >> 10) df 와 co.. 2023. 8. 5. [웹 크롤링] 네이버 증권에서 '종목코드', '상장회사', '주가' 크롤링하기 주가 크롤링하기 다음과 같이 네이버 증권 페이지에서 종목코드 별로 상장회사와 주가를 확인하는 결과를 출력해보자. 가져오고 싶은 정보는 웹페이지에서 다음과 같다. getSoup 함수 크롤링하려는 대상의 url을 작성한다. 그런데 다음과 같이 종목코드별로 웹페이지가 다름을 알 수 있다. 따라서 getSoup의 인자로 com_code(종목번호)를 받고, 이를 url 끝에 결합하도록 했다. UserAgent 라이브러리로 custom_header 작성 : 크롤링하는 사용자 정보를 서버에 전달 이전 예제와 동일하게 req 객체에 웹의 데이터를 가져와 저장 soup 객체에 html 데이터를 텍스트로 변환 return 값을 soup으로 한다 getPrice 함수 com_code(종목번호)를 인자로 받아, 바로 getS.. 2023. 8. 4. [웹 크롤링] 벅스에서 Top 100 노래 제목 크롤링하기 벅스 뮤직에서 차트 탑 100 노래의 제목 가져오기 1. html 구조보기 마우스 우클릭 > 검사 > 요소 탑100 노래 제목이 어떤 구조 안에 있는지 살펴보기 2. 크롤링 코드 작성 import requests from bs4 import BeautifulSoup import pandas as pd def creatDf(result_list): result_pf = pd.DataFrame({'title': result_list}) return result_pf def crawler(soup): tbody = soup.find("tbody") result = [] for p in tbody.find_all("p", class_="title"): result.append(p.get_text().replac.. 2023. 8. 4. [웹 크롤링] 네이버 연합뉴스의 타이틀 크롤링 네이버 뉴스 페이지에서 헤드라인만 크롤링하기 이번엔 웹에서 원하는 데이터만 뽑아 추출하는 것을 시작해보자! 가장 먼저 네이버 뉴스 페이지의 헤드라인을 크롤링해본다. 크롤링을 원하는 부분은 다음과 같다. 🚴♂️ Requests & Beautifulsoup 라이브러리 사용 - Requests 는 API 호출시에도 사용되며, 기본적으로 웹사이트 크롤링에 많이 쓰임. - 샘플 코드 : url 로부터 상태코드를 받는 과정 import requests from bs4 import BeautifulSoup url = "https://www.naver.com" #요청 url 변수에 담긴 url의 html 문서 정보 출력 req = requests.get(url) print(req.status_code) 1. 크롤링하.. 2023. 8. 4. [웹 크롤링] 로컬 html 파일에서 데이터 가져오기 웹 크롤링 시작하기 보통 크롤링 대상은 웹페이지이지만, 간단히 로컬파일 데이터를 크롤링하는 것부터 시작해보자. ❗어떤 프로젝트를 하든, 디렉토리(폴더)와 파일의 경로가 중요하다. >> 본 포스팅에서는 최상위 폴더를 편의상 crawling 으로 가정한다. 어떤 프로젝트를 하든, 디렉토리(폴더)와 파일의 경로가 중요하다. 본 포스팅에서는 최상위 폴더를 편의상 crawling 으로 가정한다. 1. 필요한 라이브러리 설치 vs code 열기 requirements.txt 를 통해 필요한 라이브러리 작성 (프로젝트 최상위 폴더에) 터미널에 명령어 입력하여 라이브러리 설치 pip install -r requirements.txt selenium webdriver-manager numpy pandas scikit-l.. 2023. 8. 4. 이전 1 다음 728x90