728x90 반응형 분류 전체보기179 [웹스크래핑] Beautifulsoup4 기본 관련 라이브러리 및 패키지 설치pip install beautifulsoup4 : 스크래핑을 위한 패키지pip install lxml : 구문을 분석하는 파서(Parser)실습 : 네이버웹툰 1. url 접근 및 BeautifulSoup 객체 만들기import requestsfrom bs4 import BeautifulSoupurl = "https://comic.naver.com/webtoon/weekday"res = requests.get(url)res.raise_for_status()soup = BeautifulSoup(res.text, "lxml") # 가져온 HTML 문서를 파서를 통해 BeautifulSoup 객체로 만듦1. 네이버웹툰 url의 정보를 requests.get() 함수를 사용하여 .. 2023. 1. 15. [웹스크래핑] User Agent - 나를 차단한 웹페이지 접속하기 User Agent무분별한 크롤링, 스크래핑을 막기 위해서 사람이 직접 웹페이지를 접속한 것이 아니라 로봇이나 프로그램이 접속하는 것을 차단하는 웹페이지들이 있다. 즉, Requests 라이브러리를 사용해서 접근하는 것을 막는 사이트들이 있다. 이러한 사이트들을 크롤링, 스크래핑을 하기 위해서 User Agent를 사용한다. 우리가 로봇이 아니라 사람임을 User Agent를 사용하여 웹페이지에게 알려줄 수 있다. 위의 이미지에서 인간이 조작하는 웹 브라우저 형식을 사용해야 웹페이지가 로봇으로 인식하지 않는다. 나의 User Agent 확인하기 https://www.whatismybrowser.com/detect/what-is-my-user-agent/ What is my user agent?Every.. 2023. 1. 15. [웹스크래핑] 정규식(Regular Expression) 정규식(Regular Expression)특정 단어나 패턴을 표현하는 축약된 형식으로, 규칙이 있는 문자열을 비교, 추출할때 사용한다.크롤링이나 스크래핑 시에 필요한 정보를 가져올때 유용하게 사용한다. 예를 들어, 주민등록번호 : 95xxxx-xxxxxxx이메일 주소 : tistory@gmail.com차량 번호 : 123가 1234IP 주소 : 192-111.0.1 등이 있다.1. 정규식 형태를 가진 문자열을 정규식 객체로 컴파일한다. import rep = re.compile("ca.e") 위의 코드는 ca?e와 관련된 문자열을 찾기위한 첫 시작이다. 즉, 정규식을 정의하는 단계이다.ca?e는 care, case, cafe, cave 등이 될 수 있다. 정규식. : (ca.e) : 하나의 문자를 의미 .. 2023. 1. 15. [웹스크래핑] Requests 라이브러리 기초 Requests 라이브러리 웹 서버와 데이터를 주고 받기 위해서는 정해진 프로토콜(HTTP)을 사용해야한다.Requests는 웹 서버와 정해진 프로토콜에 따라 데이터를 요청하고 전달 받은 데이터를 관리한다. Requests를 사용하면 프로토콜을 알 필요 없이 정해진 함수만 호출하면 원하는 데이터를 추출할 수 있다.나중에 배울 셀레니움(Selenium)도 이러한 일련의 일들을 스스로 처리해줘서 내부 동작은 고민할 필요 없다. Requests는 불필요한 데이터를 요청하지 않기 때문에 셀레니움보다 속도가 빠르다. 단점은 세부 내용을 사용자가 컨트롤해야한다. 연습 : Google의 HTML 코드 가져오기1. 원하는 웹페이지의 정보 가져오기res = requests.get("http://google.com") #.. 2023. 1. 14. [HTML] XPath란? XPath HTML 문장 속의 요소, 속성 등을 지정하는 언어이다. XPath에는 XML문장을 트리로 다루기 때문에, 요소나 속성의 위치를 지정하는 것이 가능하다. HTML 내의 요소의 경로에 손쉽게 접근할 수 있다. 절대경로 문서의 시작부터 모든 경로를 표시하는 방법 계층 문서 내에서 특정 노드를 선택하기 위해 모든 단일 노드를 지정해야한다. 항상 루트 노드에서 시작한다. /html/body/div/div/div//div[1]/div[2]/div/div/div[2]/section[1]/span[1] 경로를 하나하나 다 적기 힘들고, 경로가 매우 길어진다. 상대경로 속성 이름과 속성 값으로 손쉽게 접근할 수 있는 방법 선택한 노드에서 시작할 수 있다. //태그 이름[@속성='값'] //tagname[@a.. 2023. 1. 13. [웹스크래핑] 웹크롤링 vs. 웹스크래핑 웹크롤링 vs. 웹스크래핑 웹크롤링데이터를 수집하는 소프트웨어를 크롤러(crawler)라고 한다. 크롤러는 블로그, 뉴스 기사 등의 페이지를 모두 방문해서 문서가 어디에 있는지, 누가 작성했는지, 어떠한 내용이 들어 있는지를 수집한다. 수집한 데이터를 검색 포털이 데이터 베이스로 만들어 놓기 때문에 사람들이 검색하면 그 결과를 데이터 베이스에서 빠르게 찾아줄 수 있다. 어떤 웹페이지에서 페이지의 링크를 따라가면서 모든 내용을 가져오는 것. 허용된 링크를 따라가면서 데이터를 마구잡이로 가져오는 것을 의미한다. ex) 이벤트에 당첨되어 서점에서 카트에 30초 동안 담을 수 있는 모든 책을 담을 수 있는 기회가 생김. 다만 가장 윗줄에 있는 책들은 담으면 안된다. 이때 책의 내용과 관계없이 눈에 보이는 모든.. 2023. 1. 13. 이전 1 ··· 19 20 21 22 23 24 25 ··· 30 다음 728x90 반응형