Finished implementing profile metadata and album scrapers.

Just need to do articles and maybe audio.
Video (and maybe audio) will be left to yt-dlp
This commit is contained in:
TheTechRobo 2022-03-14 12:55:10 -04:00
parent 3c395013d6
commit 61902ad0cd
2 changed files with 22 additions and 9 deletions

View File

@ -1,5 +1,4 @@
import requests
from cprint import cprint
ALBUM = "https://space.bilibili.com/233193626/album"
POST = "https://t.bilibili.com/?spm_id_from=333.999.0.0"

View File

@ -1,4 +1,4 @@
import bilibili, json
import bilibili, json, requests
from cprint import cprint
cprint.warn("PLEASE NOTE:\n\tThis is meant to be used with Warcprox. **NO DATA IS SAVED ANYWHERE.**")
@ -12,16 +12,30 @@ 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")
progress = 0
for item, typee in QUEUED:
if typee == "IMAGE_POST":
if progress % 10 == 0:
cprint.ok(f"Scraping, {progress} results so far")
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"]))
try:
QUEUED.append((post["display"]["attach_card"]["cover_url"], "ATTACH_CARD_COVER_URL"))
except KeyError:
pass
try:
for addoncard in post["display"]["add_on_card_info"]:
QUEUED.append((addoncard["attach_card"]["cover_url"], "ADDON_CARD_COVER_URL"))
except KeyError:
pass
QUEUED.append((post["desc"]["user_profile"]["info"]["face"], "PFP"))
card = json.loads(post["card"])
for picture in card["item"]["pictures"]:
QUEUED.append((picture["img_src"], "IMAGE"))
QUEUED.append((card["user"]["head_url"], "PFP"))
progress += 1
else:
requests.get(item)
cprint.info(f"Downloaded {item} ({typee})")