import requests ALBUM = "https://space.bilibili.com/233193626/album" POST = "https://t.bilibili.com/?spm_id_from=333.999.0.0" base = "https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/get_dynamic_detail?dynamic_id=%s" def userScraper(id): urls = [] urls.append((f"https://api.bilibili.com/x/space/acc/info?mid={id}&jsonp=jsonp", "USER_INFO")) urls.append((f"https://space.bilibili.com/ajax/settings/getSettings?mid={id}", "USER_SETTINGS")) urls.append((f"https://api.bilibili.com/x/relation/stat?vmid={id}&jsonp=jsonp", "USER_STATS")) urls.append((f"https://api.bilibili.com/x/space/navnum?mid={id}", "NAV_NUMS")) for url, explanation in urls: yield requests.get(url).json(), explanation def articleScraper(id): urls = [] page = 1 size = 12 urls.append((f"https://api.bilibili.com/x/web-interface/card?mid={id}&article=true", "PROFILE_ARTICLE_CARD")) maxpage = requests.get(f"https://api.bilibili.com/x/space/navnum?mid={id}").json()["data"]["article"] / size while page <= maxpage: for sort_type in ["view", "publish_time", "fav"]: urls.append((f"https://api.bilibili.com/x/space/article?mid=233193626&pn={page}&ps={size}&sort={sort_type}&jsonp=jsonp", f"MASTER_LIST_{sort_type}")) page += 1 urls.append((f"https://api.bilibili.com/x/article/up/lists?mid={id}&sort=0&jsonp=jsonp", "LISTS")) for url, expl in urls: yield requests.get(url).json(), expl def individualArticleScraper(id): urls = [] urls.append((f"https://api.bilibili.com/x/article/viewinfo?id={id}&mobi_app=pc&from=web", "VIEWINFO")) urls.append((f"https://www.bilibili.com/read/cv{id}", "readCV")) for url, expl in urls: yield requests.get(url).json(), expl def albumScraper(id): page = 0 size = 30 maxpage = requests.get(f"https://api.bilibili.com/x/space/navnum?mid={id}").json()["data"]["album"] / size while page <= maxpage: yield requests.get(f"https://api.bilibili.com/x/dynamic/feed/draw/doc_list?uid=233193626&page_num={page}&page_size={size}&biz=all&jsonp=jsonp").json(), page page += 1 def postScraper(id): return requests.get(base % id).json() #list(albumScraper("233193626"))