파이썬 심화 - 웹크롤링

JiWOn·2022년 12월 23일
0

🔗수업내용 : 테킷 AI 스쿨 기초다지기

아래 게시글은 멋쟁이 사자처럼 ai school 내용에서 정리해온 내용입니다.
뒤죽박죽~!


크롤러

웹 크롤러

웹페이지의 데이터를 모아주는 소프트웨어

웹 크롤링

크롤러를 사용해 웹페이지의 데이터를 추출해내는 행위

준비하기

외부 모듈 설치

  • pip install requests
    • requests 모듈 설치하기
  • import requests 불러오기

용어 정리

  • 함수
    • 이용하려는 행위를 코드로 묶어 놓은 것
    • 함수가 돌려주는 값 return
  • 모듈
    • 여러 함수들이 모여있는 키트를 말함
    • 모듈 안에 있는 함수를 불러오기 위해선 모듈도 불러와야 함

requests 모듈

response = requests.get(url)
서버에 요청받기

🔗https://requests.readthedocs.io/en/latest/api/#requests.Response

시간나면 모듈 함수 이용해보기

BeautifulSoup

불러오기

from bs4 import BeautifulSoup

타입

  • bs4.BeautifulSoup 으로 받아짐
  • BeautifulSoup로 문자열이 분해되어 정리됨

사용방법

BeautifulSoup(데이터, 파싱방법)

파싱?

  • 데이터를 의미있게 변경하는 방법
  • 데이터를 분석해서 의미있게 변경함
  • 파싱을 도와주는 방법을 파서라고함
    • html.parser : 파이썬 기본 파서

함수

  • BeautifulSoup.title : url의 제목
    • string : 제목의 내용을 불러옴
  • BeautifulSoup.span : url에 있는 span 태그 상단 하나 불러오기
  • soup.findAll('span') : 모든 span태그 불러오기

🔗BeautifulSoup 함수 알아보기

진짜 웹크롤링 해보자!!

  • 네이버 게임순위를 가져오기
  1. url에 주소 불러오기
  2. requests 요청하기
  3. BeautifulSoup로 html 파싱을 이용하여 요청받은 text 즉 html 불러오기
  4. findAll 함수를 이용하여 랭킹 html의 소스구조 공통점을 찾아 그 랭킹만 찾아서 result 값에 받기
  5. 출력

웹 크롤링이 막혀있어요 😥

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
response = requests.get(url,headers=headers)
  • 헤더 정보를 추가해줘야함.

0개의 댓글