YouTube любит использовать Python и BeautifulSoup - PullRequest
1 голос
/ 11 ноября 2011

Множество результатов для PHP нравится / не нравится результаты на YouTube, но ничего на Python. Я хочу оценить количество лайков и антипатий с помощью BeautifulSoup, поскольку YouTube-API этого не включает.

Я знаю, что симпатии и антипатии содержатся в этом классе:

<span class="watch-likes-dislikes">
<span class="likes">6</span> likes, <span class="dislikes">0</span> dislikes
        </span>

Спасибо.

Ответы [ 2 ]

3 голосов
/ 11 ноября 2011

Почему бы не использовать API данных YouTube ?Фид видео содержит

<gd:rating average='4.553648' max='5' min='1' numRaters='233' rel='http://schemas.google.com/g/2005#overall'/>

в каждом <entry/>.

1 голос
/ 22 февраля 2017

Я думаю, что HTML теперь выглядит не так, как вы. Вот как я могу получить количество лайков по состоянию на февраль 2017 года:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import urllib2
import html5lib
from bs4 import BeautifulSoup
url = "https://www.youtube.com/watch?v=DNMlW_5Bmv4"
page = urllib2.urlopen(url)
soup = BeautifulSoup(page, 'html5lib')
soup.find("button",attrs={"title": "I like this"}).get_text()
# as of now, the number of upvote is 3240

# dislike is similar:
soup.find("button",attrs={"title": "I dislike this"}).get_text()
# which is 24 by now
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...