[Python] 纯文本查看 复制代码# -*- coding: utf-8 -*-
import requests
import json
import re
class Biliapi(object):
"B站API操作"
__headers = {
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36",
"Referer": "https://www.bilibili.com/",
}
def __init__(self, cookieData):
#创建session
self.__session = requests.session()
#添加cookie
requests.utils.add_dict_to_cookiejar(self.__session.cookies, cookieData)
#设置header
self.__session.headers.update(Biliapi.__headers)
self.__bili_jct = cookieData["bili_jct"]
self.__uid = cookieData["DedeUserID"]
content = self.__session.get("https://account.bilibili.com/home/reward")
if json.loads(content.text)["code"] != 0:
raise Exception("参数验证失败")
def getReward(self):
"取B站经验信息"
url = "https://account.bilibili.com/home/reward"
content = self.__session.get(url)
return json.loads(content.text)["data"]
@staticmethod
def getId(url):
"取B站指定视频链接的aid和cid号"
content = requests.get(url, headers=Biliapi.__headers)
match = re.search( 'https:\/\/www.bilibili.com\/video\/av(.*?)\/\">', content.text, 0)
aid = match.group(1)
match = re.search( '\"cid\":(.*?),', content.text, 0)
cid = match.group(1)
return {"aid": aid, "cid": cid}
def getCoin(self):
"获取剩余硬币数"
url = "https://api.bilibili.com/x/web-interface/nav?build=0&mobi_app=web"
content = self.__session.get(url)
return int(json.loads(content.text)["data"]["money"])
def coin(self, aid, num, select_like):
"给指定av号视频投币"
url = "https://api.bilibili.com/x/web-interface/coin/add"
post_data = {
"aid": aid,
"multiply": num,
"select_like": select_like,
"cross_domain": "true",
"csrf": self.__bili_jct
}
content = self.__session.post(url, post_data)
return json.loads(content.text)
def share(self, aid):
"分享指定av号视频"
url = "https://api.bilibili.com/x/web-interface