Комментарии видны на веб-странице, но html-объект, возвращаемый BeautifulSoup, не содержит частей комментариев - PullRequest
1 голос
/ 25 марта 2019

Я попытался извлечь текстовое содержание комментариев с веб-страницы, используя ее URL-ссылку, и я использовал BeautifulSoup для очистки.Содержание комментариев отображается на странице, когда я щелкаю ссылку URL, но объект HTML, возвращаемый BeautifulSoup, не содержит этих тегов и текстов.

Я использовал BeautifulSoup с 'html.parser', чтобы выполнить очистку веб-страниц.Я успешно извлек количество лайков / просмотров / комментариев к видео на данной веб-странице, но информация о разделах комментариев не была включена в файл HTML.Я использовал браузер Chrome, а система - Ubuntu 18.04.1 LTS.

Это коды, которые я использовал (в python):

from urllib.request import urlopen
from bs4 import BeautifulSoup
import os

webpage_link = "https://www.airvuz.com/video/Majestic-Beast-Nanuk?id=59b2a56141ab4823e61ea901"

try:
    page = urlopen(webpage_link)
except urllib.error.HTTPError as err:  # webpage cannot be found
    print("ERROR! %s" %(webpage_link))

soup = BeautifulSoup(page, 'html.parser')

Ожидаемый результат - объект супасодержит весь контент, который виден на веб-странице, особенно текстовое содержание комментариев (например, «Не быть там, мне очень понравилось наблюдать за стилем жизни белого медведя. Спасибо поставщику за такой документальный фильм.» и «WOOOW ... удивительно»... ");однако я не смог найти соответствующие узлы в объекте супа.Любая помощь будет оценена!

1 Ответ

0 голосов
/ 25 марта 2019

Комментарии генерируются JavasSript через ajax-запрос.Вы можете отправить тот же запрос и получить комментарии из ответа json.Вы можете найти запрос, используя вкладку сети в инструменте проверки.

from urllib.request import urlopen
from bs4 import BeautifulSoup, Comment
import json
webpage_link = "https://www.airvuz.com/api/comments/video/59b2a56141ab4823e61ea901?page=1&limit=20"
page = urlopen(webpage_link).read()
comments_json=data = json.loads(page)
for comment_info in comments_json['data']:
    print(comment_info['comment'].strip()) 

Вывод

Not being there I enjoyed a lot seeing the life style of white bear. Thanks to the provider for  such documentary.
WOOOW... amazing...
I've been photographing polar bears for years, but to see this footage from a drones perspective was epic! Well done and congratz on the Nominee! Well deserved.
You are da man Florian!
Absolutely outstanding!
This is incredible
jaw dropping
This is wow amazing, love it.
So cool! Did the bears react to the drone at all?
Congratulations! It's awesome! I am watching in tears....
Awesome!
perfect video awesome
It is very, very beautiful !!! Sincere congratulations
Made my day, exquisite, thank you
Wow
Super!
Marvelous!
Man this is incredible!
Material is good, but  edi is bad. This history about  beer's family...
Muy bueno!
...