**BS4/BeautifulSoup을 이용한 크롤링(웹스크래핑) 연습예제
검사하기에서 코드를 구분할 줄 알아야한다.
전체 끌어올때는 soup.select
한가지만 끌어올때는 select_one
!=
is not
위의 두 가지는 같은 의미이다. is not 이 조금 더 직관적으로 보일 뿐!
.text 와 ['']는 print쪽이 아닌 for문쪽에 붙어도 실행이 된다.
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('https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
#old_content > table > tbody > tr:nth-child(3) > td.title > div > a
#old_content > table > tbody > tr:nth-child(4) > td.title > div > a
movies = soup.select('#old_content > table > tbody > tr')
for movie in movies:
rank = movie.select_one('td:nth-child(1) > img')
title = movie.select_one('td.title > div > a')
star = movie.select_one('td.point')
if rank is not None:
print(rank['alt'], title.text, star.text)
'💻 개발블로그 > 파이썬문법' 카테고리의 다른 글
파이참) 소스코드 정리하기 단축키 (0) | 2021.12.16 |
---|---|
파이썬 크롤링하기(웹스크래핑) 3주차 과제 (0) | 2021.12.15 |
파이썬 패키지사용 예제 (0) | 2021.12.15 |
1주차 파이썬 문법 (0) | 2021.12.14 |