Python/[강의] 파이썬입문과 크롤링기초
실전 크롤링과 크롤링 기술팁
spring_sunshine
2022. 9. 11. 13:48
1. 크롬 브라우저 활용하기
- 크롬 개발자 모드 (윈도우)
- Ctrl + Shift + i
- F12
- 마우스로 원하는 부분 클릭
2. 추출한 것에서 또 추출하기
- find()로 더 크게 감싸는 HTML 태그로 추출하고
- 다시 추출된 데이터에서 find_all()로 원하는 부분을 추출
- 추출된 데이터는 객체(object) 이다.
import requests
from bs4 import BeautifulSoup
res = requests.get('https://davelee-fun.github.io/blog/crawl_test')
soup = BeautifulSoup(res.content,'html.parser')
section = soup.find('ul',id='hobby_course_list')
titles = section.find_all('li','course')
for title in titles:
print(title.get_text())
3. 파이썬 문자열 함수와 함께 쓰기 (데이터 전처리)
- strip() 함수: 문자열 앞뒤 공백 또는 특정 문자 삭제
- split() 함수: 문자열 내부 공백 또는 특정 문자를 구분해서 리스트로 만듦
section = soup.find('ul',id='dev_course_list')
titles = section.find_all('li','course')
for index,title in enumerate(titles):
print(str(index+1)+'.'+title.get_text().split('-')[1].split('[')[0].strip())
4. 여러 페이지를 한번에 크롤링하기
문자열 처리 활용하기
import requests
from bs4 import BeautifulSoup
for page_num in range(10):
if page_num == 0:
res = requests.get('https://davelee-fun.github.io/')
else:
res = requests.get('https://davelee-fun.github.io/page' + str(page_num+1))
soup = BeautifulSoup(res.content, 'html.parser')
data = soup.select('h4.card-text')
for item in data:
print(item.get_text().strip())