크롤링을 진행하거나 시간이 많이 걸리는 작업을 할때 현재 진행상태가 얼마나 됐는지 궁금할 것이다. 이때 상태바를 이용해서 진행상태를 파악할 수 있다. 코드는 간단하다 from tqdm import tqdm_notebook for i in tqdm_notebook(df.index) : 코드 이렇게 tqdm_notebook import해주고 for문에서 사용을 하면 끝이다!!
분류 전체보기
외부 파일 읽어오기 이름이 비슷한 같은 형식의 파일 여러개 있을때 한번에 읽어오는 방법 관련 패키지 : glob 파일 경로 및 이름을 모아서 리스트에 저장 문자 사용 가능 ex. 주유소*.xlsx (주유소로 시작하는 모든 xlsx 파일) from glob import glob # 지정된 디렉터리내의 특정 문자열을 포함하는 파일들의 파일명을 리스트로 반환 f = glob('./crawl_data/지역_위치별*.xls') f : 이렇게 저장된 데이터들을 한번에 불러올 수 있다.
#필요 패키지 임포트 import selenium from selenium import webdriver import pandas as pd from bs4 import BeautifulSoup import numpy as np from selenium.webdriver.common.by import By url='https://www.opinet.co.kr/user/main/mainView.do' driver = webdriver.Chrome('./driver/chromedriver') driver.get(url) 1. XPATH를 이용해서 동적 클릭하기 # 싼 주유소 찾기 - 지역별 메뉴 추출 xpath = '//*[@id="header"]/div/ul/li[1]/ul/li[1]/a' menu = d..
Selenium 패키지 모듈 이용한 동적 크롤링 셀레니움 설치 selenium webdriver라는 API를 통해 운영체제에 설치된 웹 브라우저를 제어하는 함수를 포함한 패키지 써드파티 라이브러리이기 때문에 따로 설치 해줘야 함 pip install selenium 필요 패키지 # 패키지 임포트 import selenium from selenium import webdriver import pandas as pd import numpy as np from bs4 import BeautifulSoup from selenium.webdriver.common.by import By selenium은 브라우저를 컨트롤하는 기능이기 때문에 webdriver 프로그램을 사용 webdriver는 브라우저 종류에 따라..
문제상황크롤링을 하려 requests.get(url)을 하다가 아래 에러를 만나본적이 있을것이다.('Connection aborted.', ConnectionResetError(10054, '현재 연결은 원격 호스트에 의해 강제로 끊겼습니다', None, 10054, None))이 에러는 요청한 서버에서 나를 자동화봇으로 보고 연결을 끊는 상황이다.해결방법이때 bot이 아닌 정상적인 요청임을 증명해야한다.크롤링하려는 페이지에서 개발자도구 > Network 에 들어가서 새로고침을 해보자.이처럼 제일 처음에 들어온 패킷이 있을것이다. 해당 패킷을 눌러서 살펴보면 Request Headers 부분에 user-agent 속성에 Mozilla 어쩌구하는 값이 있을것이다.이 값은 브라우저 정보를 나타내는 것인데 오..
이 게시글은 데이터사이언스엔지니어링_전문가 과정을 수강하며 복습을 위해 정리한 글입니다. 네이버 뉴스 크롤링 세번째 게시글입니다. 앞선 게시글을 본 후 보는 것을 추천드립니다. [WebCrawling] 네이버 뉴스 메뉴 크롤링 2022.ver 이 게시글은 데이터사이언스엔지니어링_전문가 과정을 수강하며 복습을 위해 정리한 글입니다. 포털사이트 크롤링 소스내에서 특정 문자열(data)을 자칭하는 선택자 얻기(크롬 개발자도구 사용) seojeong-99.tistory.com [WebCrawling] 네이버 뉴스 섹션 토픽 크롤링 2022.ver 이 게시글은 데이터사이언스엔지니어링_전문가 과정을 수강하며 복습을 위해 정리한 글입니다. 이전 게시글을 통해 네이버 -> 뉴스 -> 각 섹션 url을 얻어왔을 것이다...
이 게시글은 데이터사이언스엔지니어링_전문가 과정을 수강하며 복습을 위해 정리한 글입니다. 네이버 뉴스 크롤링 두번째 게시글입니다. 앞선 게시글을 본 후 보는 것을 추천드립니다. [WebCrawling] 네이버 뉴스 메뉴 크롤링 2022.ver 이 게시글은 데이터사이언스엔지니어링_전문가 과정을 수강하며 복습을 위해 정리한 글입니다. 포털사이트 크롤링 소스내에서 특정 문자열(data)을 자칭하는 선택자 얻기(크롬 개발자도구 사용) seojeong-99.tistory.com 이전 게시글을 통해 네이버 -> 뉴스 -> 각 섹션 url을 얻어왔을 것이다. 이번에 할 단계는 각 섹션에 있는 대표 토픽url을 크롤링해오는 것이다. 위의 화면에서 노란색 블록처리해놓은 부분이 대표 토픽(헤드라인)이다. 개발자도구로 들어..
이 게시글은 데이터사이언스엔지니어링_전문가 과정을 수강하며 복습을 위해 정리한 글입니다. 포털사이트 크롤링 소스내에서 특정 문자열(data)을 자칭하는 선택자 얻기(크롬 개발자도구 사용) 전체 코드에서 수집하려고 하는 데이터(태그)의 위치를 찾고 태그를 파싱한 후 필요데이터 추출 네이버 전체메뉴 크롤링 아래의 코드를 통해 네이버 상단 메뉴의 url을 가져올 수 있다. from urllib.request import urlopen # 서버 요청/응답 패키지 import bs4 # 파싱 패키지 # 네이버 사이트의 기본 메뉴 문구 추출 url = 'https://www.naver.com' # url로 요청 후 응답 html = urlopen(url) # 파서객체 생성 - bs4 객체로 변환 bs_obj = b..