본문 바로가기

웹 스크래핑

[파이썬] 웹 크롤링: Get Request와 쿼리 스트링 requests 라이브러리를 이용해서 Get request를 보내는 간단한 방법과 쿼리 스트링에 대해 알아보겠습니다. Get Request 예시 아래 코드는 웹 브라우저에서 G마켓 Best 페이지에 접속한 것과 같은 내용입니다. 다음과 같은 순서로 이루어집니다. 1) http://corners.gmarket.co.kr/Bestsellers 주소로 Get 요청(request)을 보냅니다. 2) 서버에서는 해당 요청을 처리 후 클라인트에게 응답(response)을 줍니다. 3) 응답 내용인 html를 확인합니다. import requests url = "http://corners.gmarket.co.kr/Bestsellers" r = requests.get(url) print(r.status_code) pr.. 더보기
[파이썬] BeautifulSoup을 이용해서 텍스트 추출하기: get_text(), string BeautifulSoup을 이용해서 텍스트를 추출하는 방법은 대표적으로 두 가지가 있습니다. 하나는 get_text() 이용하는 것이고, 다른 하나는 string를 이용하는 것입니다. 두 방식의 차이점에 대해서 알아보겠습니다. 예제로 다음과 같은 HTML 문서를 사용하겠습니다. >> '\n\n .s-price span').get_text() # >>> '12,900원' string get_text()를 사용하더라도 정확하게 문자열을 추출하기 위해서는 항상 마지막 태그에 메서드를 사용해야 합니다. 개인적으로 애초에 더 명확하게 사용해야 하는 string 속성을 이용해서 문자열을 추출하는 것을 선호합니다. string 속성은 - 태그(tag) 내 문자열을 반환합니다. soup.select_one('.s-pr.. 더보기
[파이썬] CSS selector를 이용해서 데이터를 스크래핑하기: select(), select_one() 이번에는 CSS selector를 이용해서 데이터를 추출하는 방법을 알아보겠습니다. CSS는 HTML 요소의 스타일을 정의한 문서입니다. 그렇다면 어떤 요소에 어떤 스타일을 주어야하는지 명확하게 지정할 필요가 있겠죠. 이러한 목적으로 사용되는 것이 selector(선택자)입니다. selector { property1: value1; property2: value2; } CSS는 위와 같이 선택자를 쓰고 { } 괄호 안에 프로퍼티와 값을 지정하는 방식으로 사용합니다. 1. 태그 선택자 사용법 # 태그 이름이 tag1인 html요소를 리스트 형태로 모두 반환합니다. soup.select('tag1') # 태그 이름이 tag1인 html요소중 첫번째 요소만 반환합니다. soup.select_one('tag1'.. 더보기
[파이썬] 웹 크롤링: 파이썬으로 웹 사이트 읽어오기 웹 스크래핑을 하기 위해서는 우선 내가 원하는 웹 사이트를 읽어올 수 있어야 합니다. 웹의 동작 방식 브라우저에 원하는 페이지의 주소를 입력하고 엔터를 치면 다음과 같은 일이 일어납니다. 브라우저는 서버에게 html 파일 요청하고 서버는 이를 반환해줍니다. 이때 필요에 따라서 css, javajavascript가 포함되기도 합니다. 웹 브라우저는 이 파일들을 한데 모아 우리가 보는 화면 위에 그려줍니다. 파이썬 코드로 페이지 읽기 파이썬에서는 단 세줄의 코드로 똑같은 일을 할 수 있습니다. 매우 간단합니다. import requests html = requests.get('https://www.google.com/') print(html.text) 위의 코드를 실행해보면 페이지의 HTML 코드가 출력되는.. 더보기