-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhomeworkbilibili.py
37 lines (31 loc) · 1.02 KB
/
homeworkbilibili.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import requests
import csv
mid = (input('收藏夹mid'))
if mid == '':
mid = 3334243529
else:
mid = mid
for i in range(1, 6):
pn = i
like_list_url = f'https://api.bilibili.com/x/v3/fav/resource/list?media_id={mid}&pn={pn}&ps=20'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' +
'AppleWebKit/537.36 (KHTML, like Gecko) ' +
'Chrome/112.0.0.0 Safari/537.36'
}
response = requests.get(like_list_url, headers=headers)
json_data = response.json()
fields_left = ['title', 'cover', 'bvid']
if i == 1:
mode = 'w'
else:
mode = 'a'
with open('media_list.csv', mode=mode, newline='') as file:
writer = csv.writer(file)
if i == 1:
writer.writerow(fields_left)
writer.writerow([f'page{i}'])
for data in json_data['data']['medias']:
list = data['title'], data['cover'], 'https://b23.tv/' + data['bvid']
writer.writerow(list)
print('csv has saved')