The data is stored inside javascript variable on that page. To parse the data (and create pandas dataframe form it) you can use this example:
import re
import json
import requests
import pandas as pd
url = "https://oldschool.tools/calculators/quest-planner#"
html = requests.get(url).text
data = re.search(r"window\.questData = ({.*})", html).group(1)
data = json.loads(data)
# uncomment this to print all data:
# print(json.dumps(data, indent=4))
df = pd.json_normalize(data.values())
df.index = data.keys()
print(df)
Prints:
name difficulty length qp skillRequirements questRequirements qpRequirement membersOnly skillRequirements.mining skillRequirements.crafting skillRequirements.woodcutting skillRequirements.cooking skillRequirements.fishing skillRequirements.herblore skillRequirements.prayer skillRequirements.smithing skillRequirements.magic skillRequirements.thieving skillRequirements.ranged skillRequirements.attack skillRequirements.firemaking skillRequirements.agility skillRequirements.fletching skillRequirements.strength skillRequirements.defence skillRequirements.slayer skillRequirements.farming skillRequirements.runecrafting skillRequirements.wooductting skillRequirements.construction skillRequirements.hunter skillRequirements.hitpoints
1 Cook's Assistant Novice Short 1 [] [] NaN 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 Demon Slayer Novice Medium 3 [] [] NaN 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3 The Restless Ghost Novice Short 1 [] [] NaN 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 Romeo & Juliet Novice Short 5 [] [] NaN 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
5 Sheep Shearer Novice Short 1 [] [] NaN 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
6 Shield of Arrav Novice Medium 1 [] [] NaN 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
7 Ernest the Chicken Novice Short 4 [] [] NaN 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
8 Vampyre Slayer Novice Short 3 [] [] NaN 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
9 Imp Catcher Novice Short 1 [] [] NaN 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
10 Prince Ali Rescue Novice Short 3 [] [] NaN 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
11 Doric's Quest Novice Short 1 NaN [] NaN 0 15.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
12 Black Knights' Fortress Novice Short 3 [] [] 12.0 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
13 Witch's Potion Novice Short 1 [] [] NaN 0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
...and so on.