在YouTube上有很多关于PHP喜欢/不喜欢的结果,但在Python中却没有。我想使用BeautifulSoup来减少喜欢和不喜欢的数量,因为YouTube-API不包含此内容。
我知道喜欢和不喜欢的内容包含在这个范围内:
<span class="watch-likes-dislikes">
<span class="likes">6</span> likes, <span class="dislikes">0</span> dislikes
</span>
谢谢。
答案 0 :(得分:3)
为什么不使用YouTube Data API?视频Feed包含
<gd:rating average='4.553648' max='5' min='1' numRaters='233' rel='http://schemas.google.com/g/2005#overall'/>
每个<entry/>
内的。
答案 1 :(得分:1)
我认为HTML现在与您提供的HTML不同。以下是我截至2017年2月的喜欢数量:
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