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() )
'크롤링 > 기본 문법' 카테고리의 다른 글
[크롤링 기본] 엑셀 파일로 저장하기 (0) | 2022.08.12 |
---|---|
[크롤링 기본] HTTP response code (0) | 2022.08.12 |
[크롤링 기본] urllib 라이브러리 (0) | 2022.08.12 |
[크롤링 기본] Html과 CSS (0) | 2022.08.03 |
[크롤링 기본] 크롤링 핵심 코드 (0) | 2022.08.02 |