728x90
❓ 상황
스파르타코딩클럽에서 백엔드를 학습하는것이 어려워서 포기했던 적이 있었다. 마침 코딩테스트와 필기시험이 끝나, 시간의 여유가 있어서 백엔드를 학습하려고 한다. 무작정 어려운 백엔드부터 학습하는 것이 아닌, 기초부터 공부해야한다는 판단이 섰다. 그래서 해당강의를 통해 파이썬을 활용한 웹 스크래핑을 다시 학습하려고 한다.
✨ 느낀점
👍 알게 된 점
requests 라이브러리로 html 추출
import requests
indeed_requests = requests.get('indeed의 url')
indeed_html = indeed_requests.text
강의의 첫번째 목적은 indeed 사이트의 채용공고 데이터를 가져오는 것이다.그래서 requests.get()를 이용하여 해당 웹사이트의 데이터를 가져온다.그리고 .text를 이용하여 해당 데이터의 html을 가져온다.
beautifulsoup를 이용하여, html를 컴퓨터가 활용하게 만들기
from bs4 import BeautifulSoup
indeed_bs4 = BeautifulSoup(indeed_html, "html.parser")
BeautifulSoup는 2개의 매개변수를 갖는데, 첫번째 인수는 html이고, 두번째 인수는 첫번째 인수가 html이라고 알려주는 역할을 한다.
beautifulsoup를 이용하여, 가져온 html에서 원하는 정보 추출하기
pagination = indeed_bs4.find("ul", {"class":"pagination-list"})
pages = pagination("a")
spans = []
for page in pages:
spans.append(page.find("span"))
spans[:-1]
한줄씩 해석하면
indeed_bs4에서 ul태그이면서 class명이 pagination-list인 것을 pagination 변수에 넣는다.
pagination에서 a태그 인것들을 모두 pages 변수에 넣는다.
* pages = pagination.find_all("a") 의 생략버전이다.
spans이라는 빈배열을 선언하고,
for 반복문을 활용하여 page에 span태그를 spans 빈배열에 넣는다.
그리고 slice를 이용하여, 맨 마지막 원소는 사용하지 않는다.(맨 마지막 원소는 필요없는 정보이기 때문이다.)
'공부 > 프론트엔드' 카테고리의 다른 글
[공부] 노마드 코더 파이썬 웹 스크래핑 3회차 (0) | 2022.02.17 |
---|---|
[공부] 노마드 코더 파이썬 웹 스크래핑 2회차 (0) | 2022.02.16 |
[공부] 노마드 코더 React hooks 4회차(useConfirm, usePreventLeave) (0) | 2022.01.20 |
[공부] 노마드 코더 React hooks 3회차(useTitle, useClick) (0) | 2022.01.19 |
[공부] 노마드 코더 React hooks 2회차(useTab) (0) | 2022.01.18 |