Обзор фильма ползет - PullRequest
       1

Обзор фильма ползет

0 голосов
/ 12 октября 2019

Я хочу просканировать все эти обзоры фильмов на этой странице. Какая часть в красном круге

Я пытался ползти с этим кодом. (Я использовал Jupiter Notebook-Anaconda3)

import requests
from bs4 import BeautifulSoup

test_url = "https://movie.naver.com/movie/bi/mi/pointWriteFormList.nhn?code=174903&type=after&page=1"
resp = requests.get(test_url)
soup = BeautifulSoup(resp.content, 'html.parser')
soup

score_result = soup.find('div', {'class': 'score_result'})
lis = score_result.findAll('li')
lis[:3]

from urllib.request import urljoin  #When I ran this block and next block it didn't save any reviews.
review_text=[]
#review_text = lis[0].find('p').getText()
list_soup =soup.find_all('li', 'p')

for item in list_soup:
review_text.append(item.find('p').get_text())

review_text[:5] #Nothing was saved.

Как я писал в третьем блоке и четвертом блоке, ничего не было сохранено. В чем проблема?

1 Ответ

1 голос
/ 12 октября 2019

Это получит то, что вы хотите. Протестировано на python в Jupyter Notebook (последняя версия)

import requests
from bs4 import BeautifulSoup
from bs4.element import NavigableString

test_url = "https://movie.naver.com/movie/bi/mi/pointWriteFormList.nhn?code=174903&type=after&page=1"
resp = requests.get(test_url)

soup = BeautifulSoup(resp.content, 'html.parser')
movie_lst = soup.select_one('div.score_result')
ul_movie_lst = movie_lst.ul
for movie in ul_movie_lst:
    if isinstance(movie, NavigableString):
        continue

    score = movie.select_one('div.star_score em').text
    name = movie.select_one('div.score_reple p span').text
    review = movie.select_one('div.score_reple dl dt em a span').text

    print(score + "\t" + name)
    print("\t" + review)

Предварительный просмотр Code Preview

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...