1. 크롬 브라우저 활용하기

 

  크롬에서 F12 누르면 개발자 모드

  → 마우스로 원하는 부분의 html 코드나 css selector 추출 가능

 

 

2. 이중 추출하기

 

  find() / select() 로 광범위하게 추출한 후, find_all() / select_one() 으로 특정 부분 추출

 

  import requests

  from bs4 import BeautifulSoup

  res = requests.get('웹페이지 주소')

  soup = BeautifulSoup(res.content, 'html.parser')

 

  data = soup.find('ul', id='hobby_course')

  mydata = data.find_all('li', 'course')

  for i in mydata :

      print(i.get_text())

 

 

3. 파이썬 문자열 함수 활용하기

 

  1) 분리 함수 split() : 문자열을 인자 기준으로 끊어 리스트 형태로 전환

 

     for i in mydata :

         print( i.get_text() . split('-') [1] )     _ 문자열인 i.get_text()를 '-' 기준으로 분리한 것 중 두번째

 

  2) 제거 함수 strip() : 문자열에서 특정 문자 제거

 

     for i in mydata :

         print( i.get_text() . split('-') [1] . strip() )     _ 문자열인 i.get_text().split('-')[1]에서 양 옆의 공백 제거

 

  3) 번호 매기기 : index와 enumerate

 

     for index, k in enumerate(리스트명) :

         print( index, 어쩌구~~~)     _ 리스트 대입되면서 index에 차례대로 번호 생성

                                                    _ 1부터 입력하려면 index+1

                                                    _ 문자열과 합치고 싶으면 str(index+1) + '문자열'

 

 

4. 여러 페이지 한번에 크롤링 하기

 

  1) 페이지 주소가 page1~n으로 바뀔 때

 

     for page_num in range(1:10) :     _ 9페이지까지

         res = requests.get( '~주소~/page' + str(page_num) + '/' )  

 

  2) 페이지 주소가 page → page2~n으로 바뀔 때

 

     for page_num in range(10) :   

         if page_num == 0 :

             res = requests.get( '~주소~/')

         else :

             res = requests.get( '~주소~/' + str(page_number + 1) )  

         soup = BeautifulSoup(res.content, 'html.parser')

         data = soup.select('html코드')

         for i in data :

             print( i.get_text() )

 

 

 

+ Recent posts