Skip to content

Prosperis/linkfetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

linkfetch

A local tool that scrapes your own LinkedIn profile and emits tailor-compatible YAML, so you can bootstrap or refresh your tailor profile from LinkedIn instead of typing everything by hand.

linkfetch is not a website and does not host anything. It runs on your machine and drives a real Chromium browser that you log into. It captures only the authenticated user's own profile.

How it works (two phases)

  1. Capture (browser, runs rarely): log in once in a persistent Chromium profile, then visit each section's LinkedIn details page (/in/<you>/details/experience/, /details/education/, …), auto-expand all "…see more" / "Show all" controls, and save the rendered HTML to disk.
  2. Parse (pure, no browser): read the saved HTML, extract structured data with lxml, and write YAML files. Re-runnable offline; if a selector breaks you fix the parser and re-parse without touching LinkedIn again.

The scrape is deterministic — no AI. Fields come straight from the page. You enrich tags / position framings later in tailor.

Output

Sections that map onto tailor's schema are written as tailor-ready files (basics.yaml, experiences.yaml, skills.yaml, projects.yaml, certifications.yaml, awards.yaml). The rest get their own local-schema files (education.yaml, volunteering.yaml, recommendations.yaml, patents.yaml, courses.yaml, languages.yaml).

Review the output in data/output/, then copy the mapped files into tailor/data/profile/ and run tailor profile validate.

Requirements

  • Python ≥ 3.10
  • Playwright for capture (uv pip install playwright && playwright install chromium). Parsing works without it.

Install

cd ~/personal/prosperis/linkfetch
uv venv --python 3.10
uv pip install -e ".[dev,browser]"
playwright install chromium

Quick start

uv run linkfetch doctor                  # check config / Playwright / session
uv run linkfetch login                   # opens browser; log in to LinkedIn once
uv run linkfetch capture --vanity your-name   # save section HTML to data/captures
uv run linkfetch parse                   # HTML -> YAML in data/output
# or do both:
uv run linkfetch run --vanity your-name

--vanity is the slug in your profile URL: linkedin.com/in/<vanity>.

Legal note

LinkedIn's Terms of Service restrict automated access. This tool is for personal use on your own profile: it uses a real logged-in browser at a human-ish pace, reads only your own data, and stores nothing remotely. Use it on your own account and at your own discretion.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages