{"id":13586667,"url":"https://github.com/eracle/linkedin","last_synced_at":"2025-05-15T03:07:29.759Z","repository":{"id":18326055,"uuid":"70271182","full_name":"eracle/linkedin","owner":"eracle","description":"Linkedin Scraper using Selenium Web Driver, Chromium headless, Docker and Scrapy","archived":false,"fork":false,"pushed_at":"2025-05-08T11:47:27.000Z","size":697,"stargazers_count":886,"open_issues_count":10,"forks_count":136,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-05-08T12:38:59.664Z","etag":null,"topics":["bot","chromium-browser","docker","docker-compose","linkedin","scraper","scraping","scrapy","selenium-webdriver"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eracle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-10-07T18:10:30.000Z","updated_at":"2025-05-08T03:48:20.000Z","dependencies_parsed_at":"2023-02-09T21:10:12.586Z","dependency_job_id":"9d3491f8-1d4f-4dd9-9844-c4c81f438f5d","html_url":"https://github.com/eracle/linkedin","commit_stats":{"total_commits":148,"total_committers":4,"mean_commits":37.0,"dds":0.3445945945945946,"last_synced_commit":"3e6a1f8427768f280612f3d37f835074411269ed"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eracle%2Flinkedin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eracle%2Flinkedin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eracle%2Flinkedin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eracle%2Flinkedin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eracle","download_url":"https://codeload.github.com/eracle/linkedin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254264766,"owners_count":22041793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","chromium-browser","docker","docker-compose","linkedin","scraper","scraping","scrapy","selenium-webdriver"],"created_at":"2024-08-01T15:05:43.467Z","updated_at":"2025-05-15T03:07:24.745Z","avatar_url":"https://github.com/eracle.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"## Sponsors:\n[![Scrap.io Banner](docs/scrapio.webp)](https://scrap.id/s/91BR)\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=eracle/linkedin\u0026type=Date)](https://star-history.com/#eracle/linkedin\u0026Date)\n\n# LinkedIn Data Scraper\n\n![built with Python3](https://img.shields.io/badge/built%20with-Python3-red.svg)\n![built with Selenium](https://img.shields.io/badge/built%20with-Selenium-yellow.svg)\n\nLinkedIn Data Scraper is a powerful open-source tool designed to extract valuable data from LinkedIn. It leverages technologies such as Scrapy, Selenium WebDriver, Chromium, Docker, and Python3 to navigate LinkedIn profiles and gather insightful information.\n\n## Features\n\n### Profile Data Extraction\n\nThe tool is designed to visit LinkedIn user pages and extract valuable data. This includes phone numbers, emails, education, work experiences, and much more. The data is formatted in a CSV file, making it easy to use for further analysis or input for LinkedIn automation software like lemlist.\n\n### Company Data Extraction\n\nThe tool can also gather information about all users working for a specific company on LinkedIn. It navigates to the company's LinkedIn page, clicks on the \"See all employees\" button, and collects user-related data.\n\n### Name-Based Data Extraction\n\nThe tool also offers a unique feature that allows you to extract data based on a specific name. By having the name of a person on the `names.txt` file, the tool will navigate to the LinkedIn profiles associated with that name and extract the relevant data. This feature can be incredibly useful for targeted research or networking. To use this feature, simply use the `make byname` command and input the name when prompted.\n\n### Custom Connection Messages using ChatGPT API\n\nThe software can be configured to send custom connection messages to LinkedIn users using the ChatGPT API. By passing in the person's profile details, the tool can craft a personalized message that is highly tailored and relevant, significantly increasing the acceptance rate of connection requests. This feature leverages OpenAI's language model to analyze the profile and generate a message that reflects the user's work experiences, skills, and primary language, making outreach more effective.\n\n## Installation and Setup\n\nYou will need the following:\n\n- Docker, I am using version  27.3.1, be sure you have docker compose\n- A VNC viewer (e.g., Vinagre for Ubuntu)\n\n### Steps\n\n1. **Prepare your environment**: Install Docker from the [official website](https://www.docker.com/). If you don't have a VNC viewer, install one. For Ubuntu, you can use Vinagre:\n\n```bash\nsudo apt-get update\nsudo apt-get install vinagre\n```\n\n2. **Set up LinkedIn login and password**: Copy `conf_template.py` to `conf.py` and fill in your LinkedIn credentials.\n\n```bash\ncp conf_template.py conf.py\n\ncat \u003c\u003cEOL \u003e\u003e conf.py\nEMAIL = \"YOUR LINKEDIN EMAIL\"\nPASSWORD = \"YOUR LINKEDIN PASSWORD\"\nEOL\n```\n\n4. **Run and build containers with Docker Compose**: Open your terminal, navigate to the project folder, and type:\n\n```bash\nmake companies\nor\nmake random\nor\nmake byname\n```\n\n4. **Monitor the browser's activity**: Open Vinagre and connect to `localhost:5900`. The password is `secret`. Alternatively, you can use the command:\n\n```bash\nmake view\n```\n\n5. **Stop the scraper**: To stop the scraper, use the command:\n\n```bash\nmake down\n```\n\n## Testing\n\n```bash\nmake test\n```\n\n## Legal Disclaimer\n\nThis code is not affiliated with, authorized, maintained, sponsored, or endorsed by LinkedIn or any of its affiliates or subsidiaries. This is an independent and unofficial project. Use at your own risk.\n\nThis project violates LinkedIn's User Agreement Section 8.2. As a result, LinkedIn may temporarily or permanently ban your account. We are not responsible for any actions taken by LinkedIn in response to the use of this tool.\n\n---\n## Newly created Telegram Group\nUsed by the Mantainer to [receive feedback or discuss new ideas](https://t.me/+Y5bh9Vg8UVg5ODU0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feracle%2Flinkedin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feracle%2Flinkedin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feracle%2Flinkedin/lists"}