- 阅读权限
- 255
- 威望
- 1 级
- 论坛币
- 70523 个
- 通用积分
- 11411.2585
- 学术水平
- 742 点
- 热心指数
- 900 点
- 信用等级
- 669 点
- 经验
- 355580 点
- 帖子
- 21414
- 精华
- 0
- 在线时间
- 2407 小时
- 注册时间
- 2014-7-8
- 最后登录
- 2024-4-19
|
- Getting the data
- In [1]:
- def get_statistics(video_id):
- url = "https://www.googleapis.com/youtube/v3/videos"
- pms = {'key': api_key, 'id': video_id, 'part':'contentDetails,statistics'}
- res = requests.get(url, params = pms)
- data = res.json()
- return(data)
- In [3]:
- def get_channel_videos(channel_id='UC-2Y8dQb0S6DtpxNgAKoJKA'):
- url = "https://www.googleapis.com/youtube/v3/search"
- pms = {'type': 'video', 'id' : id, 'key': api_key, 'channelId': channel_id, 'part':'snippet', 'order':'viewCount','maxResults':50}
- res = requests.get(url, params = pms)
- print("Connection status: %s" % res)
- data = res.json()
- #print(data)
- lst = []
- for video in data['items']:
- video_stats = get_statistics(video['id']['videoId'])
- #print(video['snippet']['title'])
- results_json = {
- 'channelTitle' : video['snippet']['channelTitle'],
- 'title' : video['snippet']['title'],
- 'publishedAt' : video['snippet']['publishedAt'],
- 'videoId' : video['id']['videoId'],
- 'viewCount' : video_stats['items'][0]['statistics']['viewCount'],
- 'commentCount' : video_stats['items'][0]['statistics']['commentCount'],
- 'likeCount' : video_stats['items'][0]['statistics']['likeCount'],
- 'dislikeCount' : video_stats['items'][0]['statistics']['dislikeCount'],
- }
- lst.append(results_json)
- df = pd.read_json(json.dumps(lst))
- return(df)
- In [5]:
- import requests
- url = 'https://www.googleapis.com/youtube/v3/videos'
- pms = {'part': 'snippet, statistics', 'id' : 'YQUpg795iBo', 'key': 'xxx'}
- res = requests.get(url, params = pms)
- data = res.json()
- In [6]:
- url = 'https://www.googleapis.com/youtube/v3/commentThreads'
- full_data = [] # return list
- page = '' # init paging
- while True:
- pms = {'part': 'snippet', 'videoId' : id, 'maxResults' : 100, 'key': api_key, 'pageToken': page}
- res = requests.get(url, params = pms)
- print("Connection status: %s" % res)
- data = res.json()
- full_data.extend(data['items'])
- print("Just downloaded: %s, Total: %s" % (len(data['items']), len(full_data)))
- try:
- page = data['nextPageToken']
- except:
- break
复制代码
|
-
总评分: 论坛币 + 20
查看全部评分
|