웹 크롤링6 동적 크롤링 - 셀레니움 일반적인 크롤링으로는 정적 데이터, 즉 변하지 않는 데이터만을 수집할 수 있습니다. 정적 데이터는 한 페이지 안에서 원하는 정보가 모두 드러나는 것을 정적 데이터라고 합니다. 이와 달리, 입력, 로그인 등을 통해 데이터가 바뀌는 것을 동적 데이터라고 합니다. 예를 들어서, 네이버 지도에서 카페를 입력하여 지도에 표시되는 카페들을 클릭한다고 합시다. 이때 다른 카페를 클릭할 때 페이지가 전환되는게 아니라 같은 페이지에서 내용만 변경됩니다. 이러한 데이터가 동적 데이터입니다. 셀레니움을 이용하면 정적 데이터, 동적 데이터 모두 크롤링 가능하지만 상대적으로 속도가 느립니다. 그래서 일반적으로 정적 크롤링 할때는 일반적인 request 패키지를 이용하고, 동적 클롤링은 셀레리움을 이용합니다. #동적 크롤링 실습.. 2023. 9. 5. 웹 크롤링 실습_5 - 테이블 데이터 크롤링 하기(pandas) 웹 페이지에서 테이블 데이터를 크롤링 하는 방법을 알아보겠습니다. 먼저 예시 웹 사이트로 위키피디아에 [List of countries by stock market capitalization]을 검색해줍니다. (링크) 이 웹사이트에 있는 테이블 데이터를 크롤링 해보겠습니다. #테이블 데이터를 다룰 때는 pandas를 사용해준다. import pandas as pd url = 'https://en.wikipedia.org/wiki/List_of_countries_by_stock_market_capitalization' tbl = pd.read_html(url) print(tbl) 이처럼 테이블 데이터는 기존의 크롤링 방식과 달리 매우 간단하게 pandas를 크롤링 할 수 있습니다. 2023. 9. 4. 웹 크롤링 실습_4 - 금융 속보 제목 추출하기 금융 속보 제목을 추출해보겠습니다. 네이버 증권 사이트 -> 뉴스 -> 실시간 속보로 가주세요. (링크) 해당 페이지에서 제목에 해당하는 부분을 알아내기 위해 개발자도구를 열어줍니다. 제목에 해당하는 부분에 우클릭 -> 검사 클릭 해줍니다. 여기서 제목 부분은 dl태그 -> dd 태그, class = articleSubject - > a 태그 -> title 속성의 속성값 import requests as rq from bs4 import BeautifulSoup url = 'https://finance.naver.com/news/news_list.naver?mode=LSS2D§ion_id=101§ion_id2=258' data = rq.get(url) html = BeautifulSoup.. 2023. 9. 4. 웹 크롤링 실습_3 저번 포스트를 참조해주세요. 저번 시간에 이어 이번에는 명언을 말한 사람의 데이터를 크롤링 해보겠습니다. 명언을 말한 사람은 class가 qoute 인 div태그 -> span 태그-> small 태그 중 class 이름이 author인 부분입니다. quote_author = quote_html.select('div.quote > span > small.author') quote_author_list = [i.text for i in quote_author] print(quote_author_list) 이번에는 명언을 말한 사람에 대한 정보 링크들을 크롤링 해보겠습니다. span 태그 -> a 태그의 href 속성 -> 속성 값 링크에 해당하는 href 속성값에 접근하는 방법은 우선 select를 통해 .. 2023. 9. 4. 웹 크롤링 실습_2 - find_all(), select() 웹 크롤링을 처음 배우신 분들은 저번 포스트를 참조해주세요. 일반적인 크롤링 과정은 다음과 같습니다. 1. HTML 정보 받기 request 패키지의 get() 혹은 post() 함수를 이용해 데이터를 요청한 후 HTML정보를 가져옵니다. 2. 태그 및 속성 찾기 bs4 패키지의 함수들을 이용해 원하는 데이터를 찾습니다. 3. 클렌징 데이터 클렌징 #크롤링할 데이터의 태그 이제 크롤링 실습을 해보겠습니다. 웹 크롤링 연습으로 자주 사용되는 명언 인용 사이트를 이용하겠습니다. 먼저 크롤링을 하기 위해서는 우리가 가져오고 싶은 데이터가 어떤 태그에 위치하는지 알아야 합니다. 이를 위해 [F12] 키를 눌러 개발자도구 화면을 열고 [Elements]탭을 선택합니다. 그리고 마우스 우클릭 후 [검사]를 눌러보면.. 2023. 9. 4. 웹 크롤링 실습_1 - GET, POST 크롤링 혹은 스크랩핑이란 웹 사이트에서 원하는 정보를 수집하는 기술을 뜻합니다. 크롤링을 할때의 주의사항이 있습니다. #주의사항 · 특정 웹사이트의 페이지를 쉬지 않고 크롤링 하는 행위를 무한 크롤링이라고 합니다. · 무한 크롤링은 해당 웹사이트의 자원을 독점하게 되어 타인의 사용을 막게 되며 웹사이트에 부하를 줍니다. · 일부 웹사이트에서는 동일한 ip로 쉬지 않고 크롤링을 할 경우 접속을 막아버리는 경우도 있습니다. · 따라서 하나의 페이지를 크롤링한 후 1~2초 가량 정지하고 다시 다음 페이지를 크롤링하는 것이 좋습니다. · 신문기사나 책, 논문, 사진 등 저작권이 있는 자료를 통해 부당이득을 얻는다는 등의 행위를 할 경우 법적 제재를 받을 수 있습니다. #GET 서버에 데이터를 요청하는 형태는 매.. 2023. 9. 4. 이전 1 다음