视频文件详细信息python3_如何用python3爬取自己的收藏夹视频信息
【Part1 查找請(qǐng)求鏈接、請(qǐng)求頭、請(qǐng)求參數(shù)】
1.點(diǎn)開自己b站收藏夾的某一個(gè)子收藏夾的具體網(wǎng)址
2.右鍵,‘檢查’;
3.點(diǎn)擊開發(fā)工具欄的Network;
4.刷新網(wǎng)頁(yè);
5.選擇XHR;
6.左側(cè)窗口點(diǎn)擊List_all請(qǐng)求找到請(qǐng)求連接
7.右側(cè)窗口的Headers--General--Request URL ,找到請(qǐng)求的網(wǎng)址,復(fù)制粘貼,直到?前的內(nèi)容;再找到user-agent作為請(qǐng)求頭;最后找到Query String Parameters的所有params參數(shù)找到請(qǐng)求頭和請(qǐng)求參數(shù)
8.查看Preview部分的json層級(jí)
查看preview中的json層級(jí)
【Part2爬取數(shù)據(jù)并用csv或者excel保存】
【寫入csv】
import requests
import csv
headers={'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'}
start_url='# 自創(chuàng)建收藏夾其中一個(gè)收藏夾的網(wǎng)址 ?之前的內(nèi)容'
with open('bilibili_1.csv','w',encoding='utf-8') as file:#with open語(yǔ)句處理csv的寫入
writer=csv.writer(file)
writer.writerow(['視頻標(biāo)題','視頻鏈接','視頻簡(jiǎn)介'])# 寫入第一行標(biāo)題
for i in range(1,5):#一次爬取4(1-4)頁(yè),否則有可能被當(dāng)成惡意請(qǐng)求
params={
'media_id': '224273278',
'pn': i,
'ps': 20,
'keyword':'',
'order': 'mtime',
'type': 0,
'tid': 0,
'jsonp': 'jsonp'
}
res=requests.get(start_url,headers=headers,params=params)
json=res.json()
list=json['data']['medias']# 一層一層提取Json
for info in list:# 用for循環(huán)爬取所有目標(biāo)值
title=info['title']
link=info['link']
intro=info['intro']
writer.writerow([title,link,intro])#寫入數(shù)據(jù)
【寫入excel】
import requests
import openpyxl
headers={'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'}
start_url='# 自創(chuàng)建收藏夾其中一個(gè)收藏夾的網(wǎng)址 ?之前的內(nèi)容'
wb=openpyxl.Workbook()
sheet=wb.active
sheet.title = '搞笑視頻'
sheet.append(['標(biāo)題','鏈接','簡(jiǎn)介'])
for i in range(1,5):
params={
'media_id': '224273278',
'pn': i,
'ps': 20,
'keyword':'',
'order': 'mtime',
'type': 0,
'tid': 0,
'jsonp': 'jsonp'
}
res=requests.get(start_url,headers=headers,params=params)
json=res.json()
list=json['data']['medias']
for info in list:
title=info['title']
link=info['link']
intro=info['intro']
sheet.append([title,link,intro])
wb.save('bilibili_lol.xlsx')
wb.close()? # 最后要寫上關(guān)閉文件
【追加sheet】需要變動(dòng)的地方
import openpyxl
wb=openpyxl.load_workbook('bilibili_lol.xlsx')
sheet4=wb.create_sheet()
sheet4.title='17_18'
sheet4.append(['標(biāo)題','鏈接','簡(jiǎn)介'])
import requests
import openpyxl
headers={'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'}
start_url='https://api.bilibili.com/x/v3/fav/resource/list'
for i in range(17,19):
params={
'media_id': '224273278',
'pn': i,
'ps': 20,
'keyword':'',
'order': 'mtime',
'type': 0,
'tid': 0,
'jsonp': 'jsonp'
}
res=requests.get(start_url,headers=headers,params=params)
json=res.json()
list=json['data']['medias']
for info in list:
title=info['title']
link=info['link']
intro=info['intro']
sheet4.append([title,link,intro])
wb.save('bilibili_lol.xlsx')
wb.close()
總結(jié)
以上是生活随笔為你收集整理的视频文件详细信息python3_如何用python3爬取自己的收藏夹视频信息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python学号怎么编写_用python
- 下一篇: python模块导入红色波浪线_解决py