Automated Freelance Gig Scraper with Bright Data
Dies ist ein AI-Bereich Automatisierungsworkflow mit 11 Nodes. Hauptsächlich werden Set, Html, HttpRequest, GoogleSheets, ScheduleTrigger und andere Nodes verwendet, kombiniert mit KI-Technologie für intelligente Automatisierung. Automatisierter Freiberufler-Finder mit Bright Data und n8n
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Sheets API-Anmeldedaten
Verwendete Nodes (11)
Kategorie
{
"id": "HyNR7wCUHOWoSMB1",
"meta": {
"instanceId": "60046904b104f0f72b2629a9d88fe9f676be4035769f1f08dad1dd38a76b9480",
"templateCredsSetupCompleted": true
},
"name": "Automated_Freelance_Gig_Scraper_via_Bright_data",
"tags": [],
"nodes": [
{
"id": "ca434966-ab56-4335-88ea-c066a3a33cf4",
"name": "Scraper täglich ausführen",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
1720,
1400
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 9
}
]
}
},
"typeVersion": 1.2
},
{
"id": "f5446f3e-3eaf-44ac-b363-1fd61da36512",
"name": "Notiz9",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "=======================================\n WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n - YouTube: https://www.youtube.com/@YaronBeen/videos\n - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
},
"typeVersion": 1
},
{
"id": "b7e24008-ca38-4d8a-b17c-57a979307618",
"name": "Notiz4",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
340
],
"parameters": {
"color": 4,
"width": 1289,
"height": 3418,
"content": "# 🚀 **Automated Daily Job Scraper Workflow**\n\nThis automation scrapes new job gigs from **We Work Remotely (WWR)** daily based on your preferred skill, extracts job information, and appends it neatly into a **Google Sheet** — all without lifting a finger! Let’s break it down into 3 easy-to-understand sections:\n\n---\n\n## 🔹 **SECTION 1: Trigger + Set Your Filter**\n\n> *Automate and personalize your job search.*\n\n### 🕒 1. Run Scraper Daily\n\n**Node Type**: Trigger\n**Purpose**: Automatically runs the workflow every 24 hours.\n**How it helps**:\nNo manual work needed! The automation ensures the job list is updated daily without you having to remember anything.\n\n🔧 **Icon Tip**:\n`⚡` = Trigger\n`⏰` = Time-based action\n\n---\n\n### 🖋️ 2. Set Skill Filter\n\n**Node Type**: Manual Input / Set Node\n**Purpose**: Define the specific skill (e.g., “Python”, “UI/UX”) you want to search gigs for.\n**How it helps**:\nYou control what kind of job gigs to track. Want only \"React\" jobs? Just set it once and forget.\n\n🧠 **Beginner Tip**:\nThink of this as setting the topic for your daily newsletter — you get exactly what you’re interested in.\n\n🔧 **Icon Tip**:\n`🖋️` = Skill Input or Filter Logic\n\n---\n\n## 🌐 **SECTION 2: Scraping & Extraction**\n\n> *Fetch real job listings based on your criteria.*\n\n### 🌍 3. Scrape WWR with Bright Data\n\n**Node Type**: HTTP Request\n**Purpose**: Uses the Bright Data Web Unlocker to visit the We Work Remotely website and fetch HTML data of job postings.\n**How it helps**:\nBy using Bright Data, you're bypassing bot detection and scraping like a pro without writing a single line of code.\n\n🔧 **Icon Tip**:\n`🌐` = API/Web scraper\n\n🔐 **Beginner Tip**:\nBright Data makes sure you're not blocked while scraping websites that usually don’t allow bots.\n\n---\n\n### 🧾 4. Extract Jobs from HTML\n\n**Node Type**: Code / Extraction\n**Purpose**: Converts raw HTML into structured job information (like job title, company, and link).\n**How it helps**:\nNo need to look at complicated HTML. This step cleans and formats the data into something meaningful and usable.\n\n🔧 **Icon Tip**:\n`🖥️📄` or `</>` = HTML parser\n\n🧠 **Beginner Tip**:\nThis is like taking a messy newspaper and extracting only the job ads you care about.\n\n---\n\n## 📊 **SECTION 3: Save to Google Sheets**\n\n> *Turn your daily gigs into a growing list you can use and filter anytime.*\n\n### 📄 5. Save Gigs to Google Sheets\n\n**Node Type**: Google Sheets\n**Purpose**: Appends each new gig to a Google Sheet in your Drive.\n**How it helps**:\nYou now have a daily updating list of remote jobs — ready to view, sort, and apply from one place.\n\n📌 **Icon Tip**:\n`📄🟩` = Google Sheets\n\n🧠 **Beginner Tip**:\nThis becomes your personal remote job tracker that updates itself daily!\n\n---\n\n## 💡 **How Beginners Can Take Advantage**\n\n1. **Zero Code Needed**: All done visually in tools like n8n – no programming background required.\n2. **Customization Friendly**: Just change the skill filter to get different job types.\n3. **Scalable**: Add more job boards or filters in future.\n4. **Saves Hours**: No need to visit sites daily or manually copy job info.\n5. **Great for Freelancers, Students & Job Seekers**.\n\n---\n\n## 🌟 Final Summary (With Emojis for Fun)\n\n| Step | Node | Emoji | Description |\n| ---- | -------------- | ----- | ------------------------------------- |\n| 1 | Run Daily | ⏰ | Automatically starts every day |\n| 2 | Set Skill | 🖋️ | Choose what skill to search jobs for |\n| 3 | Scrape WWR | 🌐 | Uses Bright Data to grab job postings |\n| 4 | Extract HTML | 🧾 | Converts raw HTML to structured data |\n| 5 | Save to Sheets | 📊 | Appends new jobs to a Google Sheet |\n\n---\n\n\n"
},
"typeVersion": 1
},
{
"id": "a83a04d5-6bec-4c7e-8d8d-538c4957a9c8",
"name": "Skill-Filter setzen",
"type": "n8n-nodes-base.set",
"position": [
1960,
1400
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "442d4787-7045-46e7-a86a-ccc522413ac9",
"name": "Skills",
"type": "string",
"value": "AI"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "33e2c73b-41e4-4f60-9b6c-4c954cc7e856",
"name": "WWR mit Bright Data scrapen",
"type": "n8n-nodes-base.httpRequest",
"position": [
2200,
1400
],
"parameters": {
"url": "https://api.brightdata.com/request",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "zone",
"value": "n8n_unblocker"
},
{
"name": "url",
"value": "=https://weworkremotely.com/remote-jobs/search?term={{ $json.Skills }}"
},
{
"name": "country",
"value": "us"
},
{
"name": "format",
"value": "raw"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer API_KEY"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "23709278-a9bb-4b46-a418-62a15c49f6ab",
"name": "Jobs aus HTML extrahieren",
"type": "n8n-nodes-base.html",
"position": [
2420,
1400
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "Job",
"cssSelector": "#category-18 > article > ul > li.new-listing-container.feature > a > div > div.new-listing__header > h4"
},
{
"key": "Company",
"cssSelector": "#category-18 > article > ul > li.new-listing-container.feature > a > div > p.new-listing__company-name"
},
{
"key": "Country",
"cssSelector": "#category-18 > article > ul > li.new-listing-container.feature > a > div > p.new-listing__company-headquarters"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "564c4101-2929-49fe-a651-134a0addfe35",
"name": "Jobs in Google Sheets speichern",
"type": "n8n-nodes-base.googleSheets",
"position": [
2720,
1400
],
"parameters": {
"columns": {
"value": {
"Job": "={{ $json.Job }}",
"Company": "={{ $json.Company }}",
"Location": "={{ $json.Country }}"
},
"schema": [
{
"id": "Job",
"type": "string",
"display": true,
"required": false,
"displayName": "Job",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company",
"type": "string",
"display": true,
"required": false,
"displayName": "Company",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Location",
"type": "string",
"display": true,
"required": false,
"displayName": "Location",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/14JmN5gkBRW6Vgevf2oNXXvEuZXPwBCk4JxQqEfJOHSw/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "14JmN5gkBRW6Vgevf2oNXXvEuZXPwBCk4JxQqEfJOHSw",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/14JmN5gkBRW6Vgevf2oNXXvEuZXPwBCk4JxQqEfJOHSw/edit?usp=drivesdk",
"cachedResultName": "weworkremotely jobs"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "r2mDaisH6e9VkwHl",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "3354904f-1735-4e89-a0a8-1914f707ee8b",
"name": "Notiz3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1700,
-20
],
"parameters": {
"color": 6,
"width": 380,
"height": 1640,
"content": "## 🔹 **SECTION 1: Trigger + Set Your Filter**\n\n> *Automate and personalize your job search.*\n\n### 🕒 1. Run Scraper Daily\n\n**Node Type**: Trigger\n**Purpose**: Automatically runs the workflow every 24 hours.\n**How it helps**:\nNo manual work needed! The automation ensures the job list is updated daily without you having to remember anything.\n\n🔧 **Icon Tip**:\n`⚡` = Trigger\n`⏰` = Time-based action\n\n---\n\n### 🖋️ 2. Set Skill Filter\n\n**Node Type**: Manual Input / Set Node\n**Purpose**: Define the specific skill (e.g., “Python”, “UI/UX”) you want to search gigs for.\n**How it helps**:\nYou control what kind of job gigs to track. Want only \"React\" jobs? Just set it once and forget.\n\n🧠 **Beginner Tip**:\nThink of this as setting the topic for your daily newsletter — you get exactly what you’re interested in.\n\n🔧 **Icon Tip**:\n`🖋️` = Skill Input or Filter Logic\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "302ea26f-4b92-41c2-9859-17a937f7b141",
"name": "Notiz5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2140,
-160
],
"parameters": {
"color": 5,
"width": 420,
"height": 1780,
"content": "## 🌐 **SECTION 2: Scraping & Extraction**\n\n> *Fetch real job listings based on your criteria.*\n\n### 🌍 3. Scrape WWR with Bright Data\n\n**Node Type**: HTTP Request\n**Purpose**: Uses the Bright Data Web Unlocker to visit the We Work Remotely website and fetch HTML data of job postings.\n**How it helps**:\nBy using Bright Data, you're bypassing bot detection and scraping like a pro without writing a single line of code.\n\n🔧 **Icon Tip**:\n`🌐` = API/Web scraper\n\n🔐 **Beginner Tip**:\nBright Data makes sure you're not blocked while scraping websites that usually don’t allow bots.\n\n---\n\n### 🧾 4. Extract Jobs from HTML\n\n**Node Type**: Code / Extraction\n**Purpose**: Converts raw HTML into structured job information (like job title, company, and link).\n**How it helps**:\nNo need to look at complicated HTML. This step cleans and formats the data into something meaningful and usable.\n\n🔧 **Icon Tip**:\n`🖥️📄` or `</>` = HTML parser\n\n🧠 **Beginner Tip**:\nThis is like taking a messy newspaper and extracting only the job ads you care about.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "a789140f-8006-4cae-ad40-0e595052b0d9",
"name": "Notiz6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2620,
420
],
"parameters": {
"color": 3,
"width": 300,
"height": 1200,
"content": "## 📊 **SECTION 3: Save to Google Sheets**\n\n> *Turn your daily gigs into a growing list you can use and filter anytime.*\n\n### 📄 5. Save Gigs to Google Sheets\n\n**Node Type**: Google Sheets\n**Purpose**: Appends each new gig to a Google Sheet in your Drive.\n**How it helps**:\nYou now have a daily updating list of remote jobs — ready to view, sort, and apply from one place.\n\n📌 **Icon Tip**:\n`📄🟩` = Google Sheets\n\n🧠 **Beginner Tip**:\nThis becomes your personal remote job tracker that updates itself daily!\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "1c541cd3-09f3-4534-b6cb-53027d87873b",
"name": "Notiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
3020,
420
],
"parameters": {
"color": 7,
"width": 380,
"height": 240,
"content": "## I’ll receive a tiny commission if you join Bright Data through this link—thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "860467ec-cde7-45f3-aab5-814a1cab069f",
"connections": {
"a83a04d5-6bec-4c7e-8d8d-538c4957a9c8": {
"main": [
[
{
"node": "33e2c73b-41e4-4f60-9b6c-4c954cc7e856",
"type": "main",
"index": 0
}
]
]
},
"ca434966-ab56-4335-88ea-c066a3a33cf4": {
"main": [
[
{
"node": "a83a04d5-6bec-4c7e-8d8d-538c4957a9c8",
"type": "main",
"index": 0
}
]
]
},
"23709278-a9bb-4b46-a418-62a15c49f6ab": {
"main": [
[
{
"node": "564c4101-2929-49fe-a651-134a0addfe35",
"type": "main",
"index": 0
}
]
]
},
"33e2c73b-41e4-4f60-9b6c-4c954cc7e856": {
"main": [
[
{
"node": "23709278-a9bb-4b46-a418-62a15c49f6ab",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Fortgeschritten - Künstliche Intelligenz
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Yaron Been
@yaron-nofluffBuilding AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos
Diesen Workflow teilen