Land Your Dream Job with This LinkedIn Automation!

Sdílet
Vložit
  • čas přidán 21. 07. 2024
  • In this video, discover an innovative automation tool designed to streamline your job hunting by identifying key headhunters on LinkedIn. We tackle the challenges of scraping LinkedIn due to its protective measures and present a solution using an automation named 'HR Hunter.' This tool builds a database of relevant headhunters, including essential contact information such as emails and phone numbers not typically available on LinkedIn profiles, thus circumventing usual communication barriers.
    HR Hunter runs weekly and employs AI, specifically Perplexity.com, to search and gather data on headhunters relevant to the procurement and supply chain field in the UAE and Saudi Arabia. The collected data includes names, locations, roles, contact details, and LinkedIn profile URLs. This automation leverages Python and JavaScript to parse and validate the information, ensuring the profiles are active and accurate. It even cross-references information from multiple sources to fill in any missing details.
    Enhance your communication strategies by integrating ChatGPT to craft personalized messages based on both the headhunter’s and your professional information. This tailored approach aims to leave a memorably positive impression, increasing the likelihood of successful connections.
    Watch the full demonstration of the automation process, from data collection to crafting personalized messages, and see how it can significantly improve your job search efficiency. Don't forget to like, comment, and subscribe for more advanced automation features in the future.
    💬 Let me know what you think of this video in the comment section below.
    ✨ And don’t forget to subscribe to the Channel!
    / @givemethemic22
    ********************
    🌐 Join me at Give Me The Mic - where tech meets tenacity! I'm Samer, a fellow non-coder on a quest to master Low-Code/No-Code solutions and AI, empowering you to build and innovate fearlessly. 🚀
    💡 Discover tools that simplify technology, as I learn and share ways to create and optimize without writing a line of code or at least learning how AI can do it for us. It's about making tech work for us, the non-coders.
    🖥️ Subscribe for a journey into the accessible side of automation and AI, where we translate tech buzz into real-world applications.
    🔔 Let's decode the tech talk and craft the future together. Hit subscribe, and let's get started with Give Me The Mic!
    ********************
    📲 Let’s Connect! Follow me on social media and subscribe to my Newsletter:
    My Website! ➡️ givemethemicofficial.com/
    My GPTs Page! ➡️ givemethemicofficial.com/page...
    ********************
    ⏰ Chapters:
    00:00 Introduction to LinkedIn Job Search Automation
    00:56 Overview of the Automation Results
    04:40 Explaining the Automation Process
    05:21 Perplexity API and Prompt Engineering
    08:55 Detailed Profile Search and Data Collection
    12:05 URL Validation Technique
    14:14 Creating and Updating Database Records
    14:55 AI-Generated Personalized Messages
    16:10 Benefits and Potential of the Automation
    17:00 Closing Thoughts and Call to Action
    ********************
    #GiveMeTheMic #LinkedInAutomation #JobSearchTool #AIJobHunting #HeadhunterContacts #HRHunter
    ********************
    FileName: GMTM143
  • Věda a technologie

Komentáře • 3

  • @GiveMeTheMic22
    @GiveMeTheMic22  Před 25 dny

    The Code by Zapier Step to parse JSON (use after each search):
    in the input data fields add two:
    some_text_field_with_json (use this exact name as it is in code) > put the output of any AI with Json
    Code below:
    import json
    def extract_json(input_string):
    stack = []
    start_index = -1
    # Traverse the string to find the complete JSON by counting braces
    for i, char in enumerate(input_string):
    if char == '{':
    stack.append(char)
    if len(stack) == 1:
    start_index = i # Mark the start of JSON
    elif char == '}':
    if stack:
    stack.pop()
    if not stack and start_index != -1:
    # When the stack is empty, the JSON is complete
    end_index = i + 1
    return input_string[start_index:end_index]
    return None # Return None if no complete JSON object is found
    # Assuming input_data['some_text_field_with_json'] is a field from a previous step
    json_string = extract_json(input_data['some_text_field_with_json'])
    if json_string:
    json_data = json.loads(json_string)
    output = {'json_data': json_data}
    else:
    output = {'json_data': {}}
    return output
    Perplexity first search body request:
    {
    "model": "llama-3-sonar-large-32k-online",
    "messages": [
    {
    "role": "system",
    "content": "Search for 15 random (not only top search results to minimize repetition) LinkedIn profiles based on the specified terms and return the results in JSON format. The search should focus on profiles from the United Arab Emirates that are active and seem influential and include the following details if available: complete name on LinkedIn, profile URL(i need verified and active urls avoiding not found 404 errors), current company, current location, email address, phone number, area of expertise, and profile headline."
    },
    {
    "role": "user",
    "content": "Search LinkedIn for profiles related to the following terms: head hunter, recruiter, HR, human resources, talent acquisition, recruitment specialist, and also, as secondary criteria directly or indirectly are related procurement, supply chain, and c suite hire. Only include profiles based in the United Arab Emirates. The JSON response should have strictly this structure: {\"Profiles\": [{\"CompleteName\": \"Full name here\", \"ProfileURL\": \"Profile URL here\", \"CurrentCompany\": \"Current company here\", \"CurrentLocation\": \"Current location here\", \"EmailAddress\": \"Email address here\", \"PhoneNumber\": \"Phone number here\", \"AreaOfExpertise\": \"Area of expertise here\", \"ProfileHeadline\": \"Profile headline here\"}, ...]}"
    }
    ],
    "temperature": 0.5
    }
    Perplexity second detailed search request body:
    {
    "model": "llama-3-sonar-large-32k-online",
    "messages": [
    {
    "role": "system",
    "content": "Search online for additional contact information based on the provided LinkedIn profile details. Return the results in JSON format. The search should focus on finding the profile owner's information across various sources and include the following details if available: name, current location, current role, email address, phone number, mobile number, current company, profile headline, LinkedIn profile URL, education, experience, skills, recommendations, and connections."
    },
    {
    "role": "user",
    "content": "Search online for the profile details based on the following information looking at all possible links for the same individual matching ANY of the following : 1-Name: {{244664614__name}}, 2-ProfileURL: {{244664614__profile url}}, 3-profile headline: {{244664614__headline}}. The JSON response should have strictly this structure: {\"Profile\": {\"Name\": \"Full name of the person as displayed on LinkedIn, identified value to replace value here\", \"CurrentLocation\": \"Current city and country where the person is located, identified value to replace value here\", \"CurrentRole\": \"The job title or position the person currently holds, identified value to replace value here\", \"Email\": \"Email address if available or inferred from other sources, identified value to replace value here\", \"PhoneNumber\": \"Landline phone number if available, identified value to replace value here\", \"MobileNumber\": \"Mobile phone number if available, identified value to replace value here\", \"CurrentCompany\": \"The company where the person is currently employed, identified value to replace value here\", \"ProfileHeadline\": \"The brief description or tagline under the person's name, usually summarizing their professional identity, identified value to replace value here\", \"LinkedInProfileURL\": \"The URL of the LinkedIn profile, identified value to replace value here\", \"Skills\": \"List of comma seperated string of skills and endorsements the person has received, identified value to replace value here\", \"Connections\": \"The number of connections the person has on LinkedIn, identified value to replace value here\"}}"
    }
    ],
    "temperature": 0.5
    }
    Code by zapier step to make sense of HTML:
    in the inputs:
    html_response > response from get request
    Code:
    const htmlResponse = inputData.html_response;
    function checkPageStatus(html) {
    // Check for indicators of an active LinkedIn profile page
    if (html.includes('window.location.href') && html.includes('/authwall?trk=')) {
    return 'Active (Requires Authentication)';
    } else if (html.includes('Page Not Found') || html.includes('Profile Not Found')) {
    return 'Not Found';
    } else {
    return 'Unknown Status';
    }
    }
    output = [{ "status": checkPageStatus(htmlResponse) }];
    >>>>Second way through code by zapierto confirm linkedin URLs, better tested after vid (recommended - no get request only this-

  • @ganeshjha2545
    @ganeshjha2545 Před 25 dny

    If you could also give the code or steps on how one can implement (github etc) it so that it’s actually helpful for the community, it would be great.

    • @GiveMeTheMic22
      @GiveMeTheMic22  Před 25 dny

      Dear I pinned all code and even perplexity prompts to top comment, such snippets are not the best to use git hub for :)
      also, at the bottom I added an extra code to confirm linkedin URLs that I tested after the video and it performed better through a single code by zapier step