목록크롤링 (7)
JJUNNAK's
저장하는 코드 # CP949 는 한글을 표기할때 자주 사용하는 방식 # 결과를 csv 파일로 저장 df.to_csv("C:/Users/nackjun/Crolling_DataFile/api_02.csv", encoding='CP949', index=False) # 결과를 엑셀 파일로 저장 df.to_excel("C:/Users/nackjun/Crolling_DataFile/data_to_exel.xlsx", encoding='CP949', index=False) 불러오는 코드 import pandas as pd # csv 파일 불러오기 data = pd.read_csv ("C:/Users/nackjun/Crolling_DataFile/api_02.csv", encoding='CP949') #exel 파일 ..

api 를 이용한 크롤링 과정에서 텍스트가 추출되지 않는 문제가 발생했다. 오류 A = bs_obj.find_all("태그") print(A.get_text()) print(A.text) 에러 메세지를 해석하면 ResultSet 객체는 text 와 get_text 의 속성을 가지지 않는다고 한다. B = bs_obj.find("태그") print(B.text) print(B.get_text()) 하지만 위와 같이 find() 함수로 추출된 객체에 사용하면 정상적으로 결과가 나오는것을 확인할 수 있다. A 와 B 모두 같은 ResultSet 타입인데 왜 결과가 다른걸까? 이유는 find() 함수와 find_all() 의 차이점에 있다. find() 함수는 사용되는 속성이 html ..

공공데이터 포털 : https://www.data.go.kr/index.do 공공 데이터 포털에서 회원가입 후 한국부동산원의 부동산 거래 api를 사용해 보았다. 사용 과정 공공데이터 포털 회원가입 사용하고자 하는 api 승인 요청 발급 받은 인증키 등록 4. 사용하고자 하는 데이터 카테고리에서 요청변수 입력후 api 호출 5. xml 형식으로 발급받아 URL에 접속해보면 결과는 다음과 같다. 위의 url를 beautifulSoup를 통해서 크롤링 할수 있다. 코드 # 부동산 공공데이터 api 크롤링 from bs4 import BeautifulSoup from urllib.request import urlopen # url 요청변수 분할 endpoint = "https://api.odclou..

뉴스, 날씨, 기사 등 동적 웹페이지를크롤링할 때에 BeautifulSoup를 사용하면 웹서버에서 최초로 전달받은 내용만을 파싱 하게 된다. 때문에 가공 이후의 html내용은 반영되지 않아 Selenium과 Chrome 드라이버를 통해서 크롤링해야 함. from selenium import webdriver [ Chrome driver 설치 ] chrome://version/ 에 접속하여 나의 크롬 버전 확인 2. https://chromedriver.chromium.org/downloads 에서 나의 버전과 맞는 드라이버 다운로드 3. 다운로드한 파일을 압축해제하고 해당 경로를 잘 기억해야 함. * 추후에 코드 작성할 때 사용하기 때문.