This commit is contained in:
TheTechRobo 2022-03-12 11:19:45 -05:00
parent cfa125884f
commit 3c395013d6
3 changed files with 31 additions and 6 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
__pycache__/

View File

@ -1,8 +1,6 @@
import requests
from cprint import cprint
cprint.info("Please wait...")
ALBUM = "https://space.bilibili.com/233193626/album"
POST = "https://t.bilibili.com/?spm_id_from=333.999.0.0"
@ -11,7 +9,7 @@ base = "https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/get_dynamic_detai
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://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:
@ -23,10 +21,9 @@ def albumScraper(id):
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
cprint.ok(f"Scraping, {page * size} results so far")
page += 1
def postScraper(id):
return requests.get(base % id_).json()
return requests.get(base % id).json()
list(albumScraper("233193626"))
#list(albumScraper("233193626"))

27
wrapper.py Normal file
View File

@ -0,0 +1,27 @@
import bilibili, json
from cprint import cprint
cprint.warn("PLEASE NOTE:\n\tThis is meant to be used with Warcprox. **NO DATA IS SAVED ANYWHERE.**")
QUEUED = []
QUEUED_IMAGES = []
PROFILE = input("Please enter the profile ID: ")
list(bilibili.userScraper(PROFILE)) # get metadata
for images, _ in bilibili.albumScraper(PROFILE):
for image in images["data"]["items"]:
cprint.warn("OK")
QUEUED.append((image["dyn_id"], "IMAGE_POST"))
cprint.warn("At queued")
for item, typee in QUEUED:
if typee == "IMAGE_POST":
post = bilibili.postScraper(item)["data"]["card"]
QUEUED.append((post["display"]["attach_card"]["cover_url"], "IMAGE"))
for addoncard in post["display"]["add_on_card_info"]:
QUEUED.append((addoncard["attach_card"]["cover_url"], "IMAGE"))
QUEUED.append((post["desc"]["user_profile"]["info"]["face"], "IMAGE"))
exit(json.loads(post["card"]))