我想了解这个web site是如何运作的。有一个输入表单,您可以在其中提供网址。此表单返回从其他站点(Youtube)检索的信息。所以:
我的第一个也是更有趣的问题是,如果有人知道这个网站如何检索整个语句库?
或者,从现在起我使用以下代码:
from BeautifulSoup import BeautifulSoup
import json
urlstr = 'http://www.sandracires.com/en/client/youtube/comments.php?v=' + videoId + '&page=' + str(npage)
url = urllib2.urlopen(urlstr)
content = url.read()
soup = BeautifulSoup(content)
#parse json
newDictionary=json.loads(str(soup))
#print example
print newDictionary['list'][1]['username']
但是,我不能在所有页面中进行迭代(当我手动操作时不会发生这种情况)。我已将timer.sleep(30)
放在json下面,但没有成功。为什么会这样?
谢谢!
Python 2.7.8
答案 0 :(得分:0)
可能使用Google Youtube data API。请注意,(目前)评论只能使用API的版本2进行检索 - 已经已弃用。显然在V3中还没有支持。可以使用Python客户端库,请参阅https://developers.google.com/youtube/code#Python。
响应已经是JSON,不需要BS。 Web服务器似乎需要cookie,因此我建议使用requests module
,特别是其会话管理:
import requests
videoId = 'ZSzeFFsKEt4'
results = []
npage = 1
session = requests.session()
while True:
urlstr = 'http://www.sandracires.com/en/client/youtube/comments.php'
print "Getting page ", npage
response = session.get(urlstr, params={'v': videoId, 'page': npage})
content = response.json()
if len(content['list']) > 1:
results.append(content)
else:
break
npage += 1
print results