[파이썬] 파이썬으로 웹 스크래퍼 만들기, Part 2 정보 추출 Extracting
미음제
·2021. 2. 4. 22:21
파이썬으로 웹 스크래퍼 만들기
Part 1 이론
Part 2 파이썬으로 웹 스크래퍼 만들기
Part 3 Django를 사용하기 위해 알면 좋은 것
파이썬으로 웹 스크래퍼 만들기는 위와 같은
3개의 Part로 나누어 진행한다.
이 전 글 보기
Part 2 파이썬으로 웹 스크래퍼 만들기
Extracting
Beautiful Soup 사용하기
Beautiful Soup을 import 해서
soup이란 변수를 생성한다.
자세한 사용방법은
www.crummy.com/software/BeautifulSoup/bs4/doc/
공식 문서에서 확인할 수 있다.
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc, 'html.parser')
html_doc은 앞선 글에서 본
.text로 가져온
html 정보를 사용한다.
결과변수.text = html_documents
import requests
from bs4 import BeautifulSoup
indeed_result = requests.get(
'https://kr.indeed.com/%EC%B7%A8%EC%97%85?q=%ED%8C%8C%EC%9D%B4%EC%8D%AC&limit=50')
indeed_soup = BeautifulSoup(indeed_result.text, 'html.parser')
indeed_soup이란 변수에
Beautiful Soup을 통해
html에서 가져온 정보를
저장했다.
가져온 url의 정보에서
나의 코드가 페이지 번호를 찾기 위해
우선, 해당 페이지를 검사해본다.
(해당 페이지에서 우클릭-검사)
이렇게 페이지 번호가 매겨진
pagingation을 찾을 수 있다.
페이지 수를 알려주기 위해
이 pagination을 활용한다.
*페이지 번호 찾기
soup.find() 함수 사용
pagination = indeed_soup.find("div", {"class": "pagination"})
*Pages 추출하기
soup.find_all() 함수 사용
pages = pagination.find_all('a')
pagination에서 page는 모두
anchor(링크)
*모든 Anchor 속 span 찾기
<span>페이지 번호</span>
for page in pages:
print(page.find("span"))
이렇게 작성하면
모든 span을 출력한다.
그 중 필요한 것은
page번호만 필요하다.
마지막 다음 버튼은 필요 없다.
다음 버튼이 출력되는 것을
없애주기 위해 다음과 같이
코드를 작성한다.
spans = []
for page in pages:
spans.append(page.find("span")
spans = spans[:-1]
empty array를 생성하고
for문을 통해
모든 span을 array에 넣고,
for문이 끝나면
입력된 array에서
마지막 요소를 제외한 것으로
갱신해 준다.
*array[-] 연산
마지막에서 시작해
첫 item을 나타낸다.
즉 배열의
가장 마지막 요소를 나타낸다
이를 통해 마지막
요소를 제거하는 것이다.
그리고
print(spans)
를 하게 되면,
마지막 요소는 제거되고
출력된다.
'Developer > Python - 웹 스크래핑' 카테고리의 다른 글
[파이썬] 파이썬으로 웹 스크래퍼 만들기, Part 2 페이지 요청 (0) | 2021.02.09 |
---|---|
[파이썬] 파이썬으로 웹 스크래퍼 만들기, Part 2 정보 추출 Extracting 2 (0) | 2021.02.09 |
[파이썬] 파이썬으로 웹 스크래퍼 만들기, Part 2 requests 모듈 설치 / Beautiful Soup 모듈 설치 (0) | 2021.02.04 |
[파이썬] 파이썬으로 웹 스크래퍼 만들기, Part 2 웹 스크래핑이란 (0) | 2021.02.04 |
[파이썬] 파이썬으로 웹 스크래퍼 만들기, Part 1 Modules(모듈) (0) | 2021.02.02 |