• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

안녕하세요 네이버 영화 평점 크롤링 부분 질문 입니다.

21.03.09 01:50 작성 조회수 293

2

import requests
from bs4 import BeautifulSoup

url = " https://movie.naver.com/movie/point/af/list.nhn?&page=1"
= requests.get(url)
bs = BeautifulSoup(r.text, "lxml")

trs = bs.select("table.list_netizen > tbody > tr ")
print(trs)

안녕하세요 영상보면서 차근차근 따라하는중에 잘 안되는 부분이 있어서 질문 드립니다. 영상 제작 시점과 지금은 뭐가 조금 다른지.. 똑같이 진행하여도 값이 다르게 나오네요ㅠ 
일단위에 코드로 실행을 하면 아래의 사진과 같이 나옵니다.

td가 3개인거같은데 맞을까요 ?  (제가 첨부를..잘못해서 그런지 다른페이지로 열어야 잘보이네요 ㅠㅠ 죄송합니다)

그래서 제가 어찌어찌 해서 이렇게 까지는 뽑았는데 10점 중 이제 7점 뭐 2점 이부분을 못하고 있습니다.이리 저리 해밨는데 역시 어렵네요 답이 아니더라도 조언 부탁드립니다.

import requests
from bs4 import BeautifulSoup

url = " https://movie.naver.com/movie/point/af/list.nhn?&page=1"
= requests.get(url)
bs = BeautifulSoup(r.text, "lxml")

trs = bs.select("table.list_netizen > tbody > tr ")
# print(trs)
for tr in trs:
    tds = tr.select("td")
    if len(tds) !=  5:
        continue
    number = tds[0].text
    tatle = tds[1].select("a")[0].text
    point = tds[1].select("span")[1].text
    print(number, tatle, point,)

답변 1

답변을 작성해보세요.

1

웹사이트는 항상 변화합니다. 그렇기 때문에 눈에는 똑같이 보인다 할지라도 이상이 있으면 항상 코드를 확인해봐야 합니다.

네이버 영화 역시 몇몇가지 변화가 있는걸로 보입니다. 아래 코드를 확인해보시기 바랍니다.

import requests
from bs4 import BeautifulSoup

url = " https://movie.naver.com/movie/point/af/list.nhn?&page=1"
r = requests.get(url)
bs = BeautifulSoup(r.text, "lxml")
trs = bs.select("table.list_netizen > tbody > tr ")

for tr in trs:
    tds = tr.select("td")
    # td 의 갯수가 3개로 축소 되었습니다.
    if len(tds) !=  3:
        continue

    number = tds[0].text
    tatle = tds[1].select("a")[0].text
    # point = tds[1].select("span")[1].text

    # 점수는 td class=title 하위에 div class=list_netizen_score 하위에 
    # em 태그에 점수가 표기되어있습니다.
    point = tds[1].select_one("div.list_netizen_score > em").text
    print(number, tatle, point,)

답변 감사합니다. 선생님 아 사진 첨부에는 !=5 로 되어있는데 제가 결과를 뽑았을때는 td가 3개인거같아서 != 3 으로 진행햇어네요 집컴퓨터 원격해서 보니 ㅎㅎ

 
저도 어제 새벽에 em 태그에 점수 숫자가 표시되어 있는거를 보고 이렇게 저렇게 해밨는데 잘 안되더라구요

그런데 너무 졸려서 자버렸는데 오늘 퇴근하고 다시 해보겠습니다. 감사합니다