html 변경됌
199
작성한 질문수 4
네이버 영화 평점 사이트가 변경되었는 지 td가 3개네요
별점은 em태그안에 있네요 나중에 들으시는 분들 당황하지 마시고 html 잘 살펴보세요
답변 1
0
네 감사합니다. 강의 하단에 수정된 코드를 첨부해놨습니다. 크롤링 프로그램을 만드는 사람들은 항상 웹사이트들이 페이지를 업데이트하고 리뉴얼을 자주 할 수 있다는 전제를 갖고 프로그램을 만들어야 합니다. 그래서 실제 실무에서도 페이지 크롤링이 실패하면 슬랙이나 텔레그램 같은 외부 메신저 프로그램을 통해 알림을 받게끔 코드를 짜기도 합니다.
아래는 수정된 코드의 내용입니다.
import requests
from bs4 import BeautifulSoup
def get_movie_point(start, end=1):
results = []
for i in range(start, end+1):
url = 'https://movie.naver.com/movie/point/af/list.nhn?&page={}'.format(i)
r = requests.get(url)
bs = BeautifulSoup(r.text, "lxml")
trs = bs.select("table.list_netizen > tbody > tr")
for tr in trs: #다수의 평점
# 번호
number = tr.select_one("td.ac.num").text
# 작성자
writer = tr.select_one("td.num > a.author").text
# td 의 title 클래스를 구합니다.
tr_data = tr.select_one("td.title")
# td class="title" 자식중 최초 a 태그안에 제목만 추출
title = tr_data.select_one("a").text
# td class="title" 자식중 div 태그 자식중 em 태그에 점수 추출
point = tr_data.select_one("div.list_netizen_score > em").text
# td class="title" 태그에서 a, div, br 태그 제거
# extract() 함수는 태그와 태그의 내용까지 모두 제거합니다.
[x.extract() for x in tr_data.select("a")]
[x.extract() for x in tr_data.select("div")]
[x.extract() for x in tr_data.select("br")]
# 위에서 태그를 모두 제거한 tr_data에서 내용만 추출
content = tr_data.text.strip()
results.append({
"number": number,
"movie": title,
"point": point,
"writer": writer,
"contents": content,
})
return results
print(get_movie_point(1,1))
38강 = 연산자 더하고 빼기
0
60
2
주석처리
0
117
1
함수의 파라미터값 msg
0
155
1
강의자료 이미지 안나옴
0
239
3
강의자료 질문 두번째
0
165
3
강의자료 관련 질문
0
116
1
파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.
0
235
1
소수 너무 어려워요
0
245
1
imagefont 함수 사용
0
239
1
pylint
0
357
1
add 함수 문의 ㅠㅠ
0
283
1
형식 문의드립니다.
0
209
1
변수 명을 왜 src, tar로 하셨는지 궁금합니다.
0
602
1
숫자야구 코드를 짜 봤는데 뭔가 이상합니다.
0
253
1
zsh: command not found: pylint
0
269
1
텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ
0
546
1
질문드립니다.
1
374
2
list.reverse() 출력에 대해서 질문있습니다.
1
433
1
데코레이터 함수 및 동작시간 질문입니다.~
1
323
2
opencv 사용하면서 궁금한점 (해상도)
1
781
1
질문드립니다.
1
299
1
아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?
1
445
1
크롤링안되는 현상 문의 드립니다.
1
421
1
파이썬 크롤링 관련 문의
1
277
1





