Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 작은수제거하기
- java map
- java set 저장
- 프로그래머스제일작은수
- java list 저장
- java map 출력
- 항해15기
- 격파르타장점
- 항해99후기
- java map 저장
- java set 출력
- javaJRE
- java최솟값구하기
- 프로그래머스
- 인터프린터언어
- java기본자료형
- java list 출력
- sqld자격증합격
- javaJVM
- 격파르타후기
- java 자료구조 활용
- java알고리즘문제풀이
- 격파르타비전공자
- 노베이스부트캠프
- java알고리즘
- 격파르타합격후기
- 컴파일
- 비전공자sqld
- 코딩부트캠프후기
- java참조자료형
Archives
- Today
- Total
코딩과 결혼합니다
웹스크래핑(크롤링) 본문
728x90
웹개발 종합반 3주차 - 웹스크래핑(크롤링)
크롤링 기본 세팅
pip install bs4 도 깔아준다.
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(URL, headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
영화의 제목들을 가져오는 작업을 해볼 것.
#mainContent > div > div.box_ranking > ol > li:nth-child(1) > div > div.thumb_item > div.poster_movie > img
그럼 이렇게 복사가 된다.
나는 여러 영화들의 제목을 가져올 것인데,
<li>태그 안에 영화가 하나씩 들어 있는것을 볼 수 있다. 이 li를 리스트 형태로 가지고 와서 하나씩 돌면서
제목을 찾을 거임! (복사한 것의 li 뒤의 내용은 지워버린다.)
lis = soup.select('#mainContent > div > div.box_ranking > ol > li')
for li in lis:
title = li.select_one('.link_txt').text
print(title)
변수 이름은 알아보기 쉽게 text로, 그리고 제목이 들어있는 class명을 찾아 select_one('.link_txt')
이렇게 입력!
li 안에 select 하나만 가져오므로 select_one()을 썼다.
순위와 평점도 가져와 보겠습니당~
for li in lis:
title = li.select_one('.link_txt').text
rank = li.select_one('.rank_num').text
rate = li.select_one('.txt_grade').text
print(rank, title, rate)
좌라란~
'2세 > Python' 카테고리의 다른 글
3주차 숙제 (웹스크래핑) (0) | 2023.05.10 |
---|---|
mongoDB (0) | 2023.05.10 |
requests 라이브러리 (0) | 2023.05.08 |
python 외부 라이브러리 사용 (0) | 2023.05.08 |
Python(2) (0) | 2023.05.08 |