Initial commit: University Playwright Codegen Agent

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
yangxiaoyu-crypto
2025-12-09 16:38:33 +08:00
commit 46915964e1
32 changed files with 3091 additions and 0 deletions

View File

@ -0,0 +1,689 @@
{
"root_url": "https://www.stanford.edu",
"program_links": [
{
"url": "http://facts.stanford.edu/academics/undergraduate",
"text": "Facts about the Undergraduate Program",
"source_url": "https://www.stanford.edu/academics/",
"bucket": "program"
},
{
"url": "http://facts.stanford.edu/academics/graduate-profile",
"text": "Facts about Graduate Studies",
"source_url": "https://www.stanford.edu/academics/",
"bucket": "program"
},
{
"url": "https://vpge.stanford.edu/guidance-faculty-staff/directors-graduate-studies",
"text": "Directors of Graduate Studies",
"source_url": "https://vpge.stanford.edu/",
"bucket": "program"
},
{
"url": "https://humsci.stanford.edu/prospective-students/guide-getting-grad-school/funding-graduate-studies",
"text": "Funding Graduate Studies",
"source_url": "http://humsci.stanford.edu/",
"bucket": "program"
},
{
"url": "https://engineering.stanford.edu/students-academics/student-success-and-engagement/undergraduate-programs",
"text": "Undergraduate Programs",
"source_url": "http://engineering.stanford.edu/",
"bucket": "program"
},
{
"url": "https://engineering.stanford.edu/prospective-graduate-programs",
"text": "Prospective Graduate Programs",
"source_url": "http://engineering.stanford.edu/",
"bucket": "program"
},
{
"url": "https://engineering.stanford.edu/students-academics/student-success-and-engagement/graduate-programs",
"text": "Graduate Programs",
"source_url": "http://engineering.stanford.edu/",
"bucket": "program"
},
{
"url": "https://engineering.stanford.edu/students-academics/student-success-and-engagement/funding-and-financial-aid/funding-your-masters",
"text": "Funding Your Masters Degree",
"source_url": "http://engineering.stanford.edu/",
"bucket": "program"
}
],
"faculty_links": [
{
"url": "https://www.stanford.edu/faculty-staff-gateway/",
"text": "Faculty & Staff",
"source_url": "https://www.stanford.edu",
"bucket": "faculty"
},
{
"url": "https://stanfordwho.stanford.edu/",
"text": "Directory",
"source_url": "https://www.stanford.edu",
"bucket": "faculty"
},
{
"url": "https://openfacultypositions.stanford.edu/",
"text": "Faculty Positions",
"source_url": "https://www.stanford.edu",
"bucket": "faculty"
},
{
"url": "https://www.stanford.edu/faculty-staff-gateway/",
"text": "Faculty & Staff",
"source_url": "https://www.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://stanfordwho.stanford.edu/",
"text": "Directory",
"source_url": "https://www.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://openfacultypositions.stanford.edu/",
"text": "Faculty Positions",
"source_url": "https://www.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://www.stanford.edu/faculty-staff-gateway/",
"text": "Faculty & Staff",
"source_url": "https://www.stanford.edu/student-gateway/",
"bucket": "faculty"
},
{
"url": "https://stanfordwho.stanford.edu/",
"text": "Directory",
"source_url": "https://www.stanford.edu/student-gateway/",
"bucket": "faculty"
},
{
"url": "https://openfacultypositions.stanford.edu/",
"text": "Faculty Positions",
"source_url": "https://www.stanford.edu/student-gateway/",
"bucket": "faculty"
},
{
"url": "https://www.stanford.edu/faculty-staff-gateway/",
"text": "Skip to content",
"source_url": "https://www.stanford.edu/faculty-staff-gateway/",
"bucket": "faculty"
},
{
"url": "https://www.stanford.edu/faculty-staff-gateway/",
"text": "Faculty & Staff",
"source_url": "https://www.stanford.edu/faculty-staff-gateway/",
"bucket": "faculty"
},
{
"url": "http://facultyaffairs.stanford.edu/",
"text": "Faculty Affairs",
"source_url": "https://www.stanford.edu/faculty-staff-gateway/",
"bucket": "faculty"
},
{
"url": "http://facultysenate.stanford.edu/",
"text": "Faculty Senate",
"source_url": "https://www.stanford.edu/faculty-staff-gateway/",
"bucket": "faculty"
},
{
"url": "http://fsh.stanford.edu/",
"text": "Faculty Housing",
"source_url": "https://www.stanford.edu/faculty-staff-gateway/",
"bucket": "faculty"
},
{
"url": "http://facultydevelopment.stanford.edu/",
"text": "Faculty Development & Engagement",
"source_url": "https://www.stanford.edu/faculty-staff-gateway/",
"bucket": "faculty"
},
{
"url": "http://fingate.stanford.edu/faculty/",
"text": "Faculty Financial Activities",
"source_url": "https://www.stanford.edu/faculty-staff-gateway/",
"bucket": "faculty"
},
{
"url": "http://facultyclub.stanford.edu/",
"text": "Faculty Club",
"source_url": "https://www.stanford.edu/faculty-staff-gateway/",
"bucket": "faculty"
},
{
"url": "http://helpcenter.stanford.edu/",
"text": "Faculty/Staff Help Center",
"source_url": "https://www.stanford.edu/faculty-staff-gateway/",
"bucket": "faculty"
},
{
"url": "http://fingate.stanford.edu/faculty/",
"text": "Faculty Financial Activities",
"source_url": "https://www.stanford.edu/faculty-staff-gateway/",
"bucket": "faculty"
},
{
"url": "https://stanfordwho.stanford.edu/",
"text": "Directory",
"source_url": "https://www.stanford.edu/faculty-staff-gateway/",
"bucket": "faculty"
},
{
"url": "https://openfacultypositions.stanford.edu/",
"text": "Faculty Positions",
"source_url": "https://www.stanford.edu/faculty-staff-gateway/",
"bucket": "faculty"
},
{
"url": "https://www.stanford.edu/faculty-staff-gateway/",
"text": "Faculty & Staff",
"source_url": "https://www.stanford.edu/academics/",
"bucket": "faculty"
},
{
"url": "https://stanfordwho.stanford.edu/",
"text": "Directory",
"source_url": "https://www.stanford.edu/academics/",
"bucket": "faculty"
},
{
"url": "https://openfacultypositions.stanford.edu/",
"text": "Faculty Positions",
"source_url": "https://www.stanford.edu/academics/",
"bucket": "faculty"
},
{
"url": "https://www.stanford.edu/faculty-staff-gateway/",
"text": "Faculty & Staff",
"source_url": "https://www.stanford.edu/research/",
"bucket": "faculty"
},
{
"url": "https://stanfordwho.stanford.edu/",
"text": "Directory",
"source_url": "https://www.stanford.edu/research/",
"bucket": "faculty"
},
{
"url": "https://openfacultypositions.stanford.edu/",
"text": "Faculty Positions",
"source_url": "https://www.stanford.edu/research/",
"bucket": "faculty"
},
{
"url": "https://www.stanford.edu/faculty-staff-gateway/",
"text": "Faculty & Staff",
"source_url": "https://www.stanford.edu/health-care/",
"bucket": "faculty"
},
{
"url": "https://stanfordwho.stanford.edu/",
"text": "Directory",
"source_url": "https://www.stanford.edu/health-care/",
"bucket": "faculty"
},
{
"url": "https://openfacultypositions.stanford.edu/",
"text": "Faculty Positions",
"source_url": "https://www.stanford.edu/health-care/",
"bucket": "faculty"
},
{
"url": "https://www.stanford.edu/faculty-staff-gateway/",
"text": "Faculty & Staff",
"source_url": "https://www.stanford.edu/campus-life/",
"bucket": "faculty"
},
{
"url": "https://stanfordwho.stanford.edu/",
"text": "Directory",
"source_url": "https://www.stanford.edu/campus-life/",
"bucket": "faculty"
},
{
"url": "https://openfacultypositions.stanford.edu/",
"text": "Faculty Positions",
"source_url": "https://www.stanford.edu/campus-life/",
"bucket": "faculty"
},
{
"url": "https://www.stanford.edu/faculty-staff-gateway/",
"text": "Faculty & Staff",
"source_url": "https://www.stanford.edu/about/",
"bucket": "faculty"
},
{
"url": "https://facts.stanford.edu/academics/faculty/",
"text": "Pulitzer Prizes, National Medals, and MacArthur Fellows",
"source_url": "https://www.stanford.edu/about/",
"bucket": "faculty"
},
{
"url": "https://stanfordwho.stanford.edu/",
"text": "Directory",
"source_url": "https://www.stanford.edu/about/",
"bucket": "faculty"
},
{
"url": "https://openfacultypositions.stanford.edu/",
"text": "Faculty Positions",
"source_url": "https://www.stanford.edu/about/",
"bucket": "faculty"
},
{
"url": "https://undergrad.stanford.edu/programs/bhc/faculty",
"text": "For Faculty",
"source_url": "https://undergrad.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpuefacstaff.sites.stanford.edu/",
"text": "For Faculty / Staff",
"source_url": "https://undergrad.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpuefacstaff.stanford.edu/",
"text": "For Faculty / Staff",
"source_url": "https://undergrad.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/guidance-faculty-staff",
"text": "Guidance for Faculty & Staff",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/guidance-faculty-staff/advising-initiative",
"text": "Advising Initiative",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/guidance-faculty-staff/advising-initiative/programs-faculty",
"text": "Programs for Faculty",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/guidance-faculty-staff/advising-initiative/promising-practices-stanford",
"text": "Promising Practices at Stanford",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/guidance-faculty-staff/advising-initiative/resources-stanford-beyond",
"text": "Resources at Stanford & Beyond",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/guidance-faculty-staff/vpge-fellowship-policies",
"text": "VPGE Fellowship Policies",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/guidance-faculty-staff/vpge-fellowship-policies/gfs-entry-information",
"text": "GFS Entry Information",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/guidance-faculty-staff/directors-graduate-studies",
"text": "Directors of Graduate Studies",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/guidance-faculty-staff/graduate-student-data",
"text": "Graduate Student Data",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/guidance-faculty-staff/vpge-fellowship-policies",
"text": "VPGE Fellowship Policies",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/guidance-faculty-staff/vpge-fellowship-policies/gfs-entry-information",
"text": "GFS Entry Information",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/fellowships-funding/current-vpge-fellows/graduate-fellowships-faculty-advisory-committee",
"text": "Graduate Fellowships Faculty Advisory Committee",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/about-vpge/faculty-advisory-committee",
"text": "Faculty Advisory Committee",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/about-vpge/student-postdoc-advisory-committee",
"text": "Student & Postdoc Advisory Committee",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/information-faculty-staff",
"text": "Faculty & Staff",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://vpge.stanford.edu/gateways/information-faculty-staff",
"text": "Faculty & Staff",
"source_url": "https://vpge.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://humsci.stanford.edu/prospective-students/guide-getting-grad-school/interviewing-and-talking-prospective-faculty",
"text": "Interviewing and Talking with Prospective Faculty",
"source_url": "http://humsci.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://humsci.stanford.edu/sites/default/files/styles/fixed_height_2x/public/history_itm.png?itok=YBm3Ma2D",
"text": "View Professor Caroline Winterer discusses an archival book with students",
"source_url": "http://humsci.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://humsci.stanford.edu/sites/default/files/styles/fixed_height_2x/public/1-2025-white-plaza-observation-3.jpg?itok=6QlEgl-7",
"text": "View A photo of first year student Serena Young as she sits inside the White Plaza pavilion, observing people",
"source_url": "http://humsci.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/students-academics/student-success-and-engagement/graduate-programs/deans-graduate-student",
"text": "Deans Graduate Student Advisory Council",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research",
"text": "Faculty & Research",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty",
"text": "Faculty",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty/emeritus",
"text": "Emeritus Faculty",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty/memoriam",
"text": "In Memoriam",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/departments",
"text": "Departments",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/departments/aeronautics-astronautics",
"text": "Aeronautics & Astronautics",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/departments/bioengineering",
"text": "Bioengineering",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/departments/chemical-engineering",
"text": "Chemical Engineering",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/departments/civil-environmental-engineering",
"text": "Civil & Environmental Engineering",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/departments/computer-science",
"text": "Computer Science",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/departments/electrical-engineering",
"text": "Electrical Engineering",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/departments/management-science-engineering",
"text": "Management Science & Engineering",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/departments/materials-science-engineering",
"text": "Materials Science & Engineering",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/departments/mechanical-engineering",
"text": "Mechanical Engineering",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/institutes-labs-and-centers",
"text": "Institutes, Labs and Centers",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards",
"text": "Faculty Awards",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2025-26",
"text": "Faculty Awards 2025-2026",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2024-25",
"text": "Faculty Awards 2024-2025",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2023-24",
"text": "Faculty Awards 2023-2024",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2022-2023",
"text": "Faculty Awards 2022-2023",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2021-2022",
"text": "Faculty Awards 2021-2022",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2020-2021",
"text": "Faculty Awards 2020-2021",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2019-2020",
"text": "Faculty Awards 2019-2020",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2018-2019",
"text": "Faculty Awards 2018-2019",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2016-2017",
"text": "Faculty Awards 2016-2017",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2015-2016",
"text": "Faculty Awards 2015-2016",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2014-2015",
"text": "Faculty Awards 2014-2015",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2012-2013",
"text": "Faculty Awards 2012-2013",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2011-2012",
"text": "Faculty Awards 2011-2012",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2010-2011",
"text": "Faculty Awards 2010-2011",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2009-2010",
"text": "Faculty Awards 2009-2010",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2008-2009",
"text": "Faculty Awards 2008-2009",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2007-2008",
"text": "Faculty Awards 2007-2008",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2006-2007",
"text": "Faculty Awards 2006-2007",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty-awards/faculty-awards-2005-2006",
"text": "Faculty Awards 2005-2006",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/get-involved/support-engineering/funding-initiatives/endowed-professorships",
"text": "Endowed Professorships",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/get-involved/support-engineering/funding-initiatives/endowed-faculty-scholars",
"text": "Endowed Faculty Scholars",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/get-involved/support-engineering/funding-initiatives/faculty-launch-fund",
"text": "Faculty Launch Fund",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/about/deans-office/deans-office-directory",
"text": "Directory",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research",
"text": "research",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/faculty",
"text": "faculty",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/faculty-research/departments",
"text": "Departments",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
},
{
"url": "https://engineering.stanford.edu/open-faculty-positions",
"text": "Open Faculty Positions",
"source_url": "http://engineering.stanford.edu/",
"bucket": "faculty"
}
],
"notes": [
"Stanford's seven schools each host their own subdomains (e.g., engineering.stanford.edu, law.stanford.edu); the script should allow cross-subdomain crawling within *.stanford.edu while still counting against the page cap.",
"Many program pages load additional content via JavaScript; use page.wait_for_load_state('networkidle') or explicit waits before extracting links.",
"Faculty directories may paginate or use infinite scroll; handle at least the first visible batch given the tight page cap.",
"Respect polite crawling: insert a 1-2 second delay between requests to avoid rate-limiting."
],
"metadata_fields": [
"url",
"title",
"entity_type",
"department",
"school",
"description",
"contact_email",
"scraped_at"
]
}