{
  "name": "job-scraper",
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://app.dumplingai.com/api/v1/scrape",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Authorization",
              "value": "Bearer YOUR_API_KEY"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"url\": \"https://www.kariyer.net/is-ilanlari/yazilim+uzmani?pst=2024&pkw=yaz%C4%B1l%C4%B1m%20uzman%C4%B1\", \n  \"format\": \"html\",\n  \"cleaned\": \"True\"\n  }",
        "options": {
          "allowUnauthorizedCerts": true
        }
      },
      "id": "b6a8c0e9-57e2-41a2-99dc-dc098dda2d8f",
      "name": "Scrape Website Content with Dumpling AI",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        220,
        740
      ],
      "typeVersion": 4.1
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://app.dumplingai.com/api/v1/scrape",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Authorization",
              "value": "Bearer YOUR_API_KEY"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"url\": \"https://tr.linkedin.com/jobs/software-developer-jobs?countryRedirected=1&position=1&pageNum=0\", \n  \"format\": \"html\",\n  \"cleaned\": \"false\"\n  }",
        "options": {
          "allowUnauthorizedCerts": true
        }
      },
      "id": "2c130841-fd95-46f9-9825-d4fc4d42b878",
      "name": "Scrape Website Content with Dumpling AI1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        220,
        1000
      ],
      "typeVersion": 4.1
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -120,
        1000
      ],
      "id": "18e11d48-ca3e-470a-986a-fc81cef3dd76",
      "name": "When clicking \u2018Test workflow\u2019"
    },
    {
      "parameters": {
        "numberInputs": 3
      },
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3.1,
      "position": [
        1240,
        980
      ],
      "id": "b71b20db-8c67-4d09-a327-d00cbd9d9864",
      "name": "Merge"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "c42e9726-c8af-4fcb-9aa6-e8d0dfb23f7d",
              "leftValue": "={{ $json.Etc }}",
              "rightValue": "1 hafta",
              "operator": {
                "type": "string",
                "operation": "contains"
              }
            },
            {
              "id": "1e442d59-c996-4c04-848e-31c49ddca244",
              "leftValue": "={{ $json.Etc }}",
              "rightValue": "2 hafta",
              "operator": {
                "type": "string",
                "operation": "contains"
              }
            },
            {
              "id": "e7425555-6c61-4297-8135-ef375f3de550",
              "leftValue": "={{ $json.Etc }}",
              "rightValue": "g\u00fcn",
              "operator": {
                "type": "string",
                "operation": "contains"
              }
            }
          ],
          "combinator": "or"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2.2,
      "position": [
        920,
        1000
      ],
      "id": "07d7dc6b-47ca-4551-9369-9e08f817b820",
      "name": "Filter"
    },
    {
      "parameters": {
        "html": "<!DOCTYPE html>\n\n{{ $json.htmlBody.replaceAll(\"\\n\",\"\") }}\n\n<style>\n.container {\n  background-color: #ffffff;\n  text-align: center;\n  padding: 16px;\n  border-radius: 8px;\n}\n\nh1 {\n  color: #ff6d5a;\n  font-size: 24px;\n  font-weight: bold;\n  padding: 8px;\n}\n\nh2 {\n  color: #909399;\n  font-size: 18px;\n  font-weight: bold;\n  padding: 8px;\n}\n</style>\n\n<script>\nconsole.log(\"Hello World!\");\n</script>"
      },
      "type": "n8n-nodes-base.html",
      "typeVersion": 1.2,
      "position": [
        1860,
        980
      ],
      "id": "25628f47-72f4-49db-addd-8990afc6f2f2",
      "name": "HTML"
    },
    {
      "parameters": {
        "jsCode": "// \u0130\u015f ilan\u0131 verilerini al\nconst items = $input.all();\n\n// HTML tablo g\u00f6vdesini ba\u015flat\nlet rows = '';\nconsole.log(items)\n// T\u00fcm i\u015f ilanlar\u0131n\u0131 d\u00f6n ve tablo sat\u0131r\u0131 olarak ekle\nfor (const item of items[0].json.data) {\n  const { Title, Company, City, Etc, Link } = item;\n  console.log(Title)\n  rows += `\n    <tr>\n      <td>${Title}</td>\n      <td>${Company}</td>\n      <td>${City}</td>\n      <td>${Etc}</td>\n      <td><a href=\"${Link}\" target=\"_blank\">\u0130lan\u0131 G\u00f6r\u00fcnt\u00fcle</a></td>\n    </tr>\n  `;\n}\n\n// Tam HTML g\u00f6vdesini olu\u015ftur\nconst htmlTable = `\n  <html>\n    <head>\n      <meta charset=\"UTF-8\">\n      <style>\n        body {\n          font-family: Arial, sans-serif;\n          background-color: #f9f9f9;\n          color: #333;\n          padding: 20px;\n        }\n        h2 {\n          color: #222;\n        }\n        table {\n          width: 100%;\n          border-collapse: collapse;\n          background: #fff;\n          box-shadow: 0 2px 5px rgba(0,0,0,0.1);\n        }\n        th, td {\n          border: 1px solid #e0e0e0;\n          padding: 12px 10px;\n          text-align: left;\n        }\n        th {\n          background-color: #f3f3f3;\n          font-weight: bold;\n        }\n        tr:nth-child(even) {\n          background-color: #fafafa;\n        }\n        a {\n          color: #007BFF;\n          text-decoration: none;\n        }\n        a:hover {\n          text-decoration: underline;\n        }\n      </style>\n    </head>\n    <body>\n      <h2>Yeni Yaz\u0131l\u0131m Uzman\u0131 \u0130\u015f \u0130lanlar\u0131</h2>\n      <table>\n        <thead>\n          <tr>\n            <th>Pozisyon</th>\n            <th>Firma</th>\n            <th>\u015eehir</th>\n            <th>\u00c7al\u0131\u015fma \u015eekli</th>\n            <th>Link</th>\n          </tr>\n        </thead>\n        <tbody>\n          ${rows}\n        </tbody>\n      </table>\n    </body>\n  </html>\n`;\n\nreturn [\n  {\n    json: {\n      htmlBody: htmlTable\n    }\n  }\n];\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1680,
        980
      ],
      "id": "54dc3a03-f9a7-4c0f-b1c3-076663be986a",
      "name": "Code"
    },
    {
      "parameters": {
        "aggregate": "aggregateAllItemData",
        "options": {}
      },
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [
        1460,
        980
      ],
      "id": "bc765d0e-2014-4da1-bffb-dadd5ced690c",
      "name": "Aggregate"
    },
    {
      "parameters": {
        "sendTo": "you_email",
        "subject": "2 Haftal\u0131k \u0130\u015f \u0130lanlar\u0131",
        "message": "={{ $json.html }}",
        "options": {}
      },
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        2080,
        980
      ],
      "id": "788173dc-7d98-4bb9-becd-c72f2d59c809",
      "name": "Gmail",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://app.dumplingai.com/api/v1/scrape",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Authorization",
              "value": "Bearer YOUR_API_KEY"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"url\": \"https://www.eleman.net/is-ilanlari?arandi=e&bol%5B%5D=29&gun=15&poz%5B%5D=1657\", \n  \"format\": \"html\",\n  \"cleaned\": \"false\"\n  }",
        "options": {
          "allowUnauthorizedCerts": true
        }
      },
      "id": "e33095e2-41f0-461b-b3fd-4c8c789f415c",
      "name": "Scrape Website Content with Dumpling AI2",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        220,
        1260
      ],
      "typeVersion": 4.1
    },
    {
      "parameters": {
        "operation": "extractHtmlContent",
        "dataPropertyName": "content",
        "extractionValues": {
          "values": [
            {
              "key": "jobs",
              "cssSelector": ".job-list-card-item",
              "returnValue": "html",
              "returnArray": true
            }
          ]
        },
        "options": {}
      },
      "id": "5795094e-f2f1-4678-be55-a388a4ec9f5b",
      "name": "Extract all jobs",
      "type": "n8n-nodes-base.html",
      "position": [
        460,
        740
      ],
      "typeVersion": 1.2
    },
    {
      "parameters": {
        "operation": "extractHtmlContent",
        "dataPropertyName": "=content",
        "extractionValues": {
          "values": [
            {
              "key": "Jobs",
              "cssSelector": "ul > li > div",
              "returnValue": "html",
              "returnArray": true
            }
          ]
        },
        "options": {}
      },
      "id": "2e3f6e20-199e-4adb-9e2c-687708a628ed",
      "name": "Extract all jobs1",
      "type": "n8n-nodes-base.html",
      "position": [
        460,
        1000
      ],
      "typeVersion": 1.2
    },
    {
      "parameters": {
        "operation": "extractHtmlContent",
        "dataPropertyName": "content",
        "extractionValues": {
          "values": [
            {
              "key": "jobs",
              "cssSelector": ".ilan_listeleme_bol   ",
              "returnValue": "html",
              "returnArray": true
            }
          ]
        },
        "options": {}
      },
      "id": "774d5a33-71a6-410f-9381-15534677b0f6",
      "name": "Extract all jobs2",
      "type": "n8n-nodes-base.html",
      "position": [
        460,
        1260
      ],
      "typeVersion": 1.2
    },
    {
      "parameters": {
        "operation": "extractHtmlContent",
        "dataPropertyName": "=jobs",
        "extractionValues": {
          "values": [
            {
              "key": "Link",
              "cssSelector": "a",
              "returnValue": "attribute",
              "attribute": "href"
            },
            {
              "key": "Title",
              "cssSelector": "h3",
              "returnValue": "html"
            },
            {
              "key": "Company",
              "cssSelector": "span > span",
              "returnValue": "html"
            },
            {
              "key": "City",
              "cssSelector": "span > span",
              "returnValue": "html"
            },
            {
              "key": "Etc",
              "cssSelector": ".c-showcase-box__text",
              "returnValue": "html"
            }
          ]
        },
        "options": {}
      },
      "id": "5cdeae20-8b54-4e58-862f-51d5df1d50fc",
      "name": "Extract job props",
      "type": "n8n-nodes-base.html",
      "position": [
        700,
        1260
      ],
      "typeVersion": 1.2
    },
    {
      "parameters": {
        "operation": "extractHtmlContent",
        "dataPropertyName": "Jobs",
        "extractionValues": {
          "values": [
            {
              "key": "Link",
              "cssSelector": "a",
              "returnValue": "attribute",
              "attribute": "href"
            },
            {
              "key": "Title",
              "cssSelector": "div > h3",
              "returnValue": "html"
            },
            {
              "key": "Company",
              "cssSelector": "div > h4  >a",
              "returnValue": "html"
            },
            {
              "key": "City",
              "cssSelector": "div > div > p > span",
              "returnValue": "html"
            },
            {
              "key": "Etc",
              "cssSelector": "div > div > p > time",
              "returnValue": "html"
            }
          ]
        },
        "options": {}
      },
      "id": "b5b58289-bad5-43c5-82ec-7b8ca5f5d215",
      "name": "Extract job props1",
      "type": "n8n-nodes-base.html",
      "position": [
        700,
        1000
      ],
      "typeVersion": 1.2
    },
    {
      "parameters": {
        "operation": "extractHtmlContent",
        "dataPropertyName": "=jobs",
        "extractionValues": {
          "values": [
            {
              "key": "Link",
              "cssSelector": "a",
              "returnValue": "attribute",
              "attribute": "href"
            },
            {
              "key": "Title",
              "cssSelector": ".title-left > span",
              "returnValue": "html"
            },
            {
              "key": "Company",
              "cssSelector": ".subtitle > span",
              "returnValue": "html"
            },
            {
              "key": "City",
              "cssSelector": ".location, .work-model",
              "returnValue": "html"
            },
            {
              "key": "Etc",
              "cssSelector": "span.text",
              "returnValue": "html"
            }
          ]
        },
        "options": {}
      },
      "id": "f6cd6b67-c5db-4f41-8585-4876b97b5a71",
      "name": "Extract job props2",
      "type": "n8n-nodes-base.html",
      "position": [
        700,
        740
      ],
      "typeVersion": 1.2
    }
  ],
  "connections": {
    "Scrape Website Content with Dumpling AI": {
      "main": [
        [
          {
            "node": "Extract all jobs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Scrape Website Content with Dumpling AI",
            "type": "main",
            "index": 0
          },
          {
            "node": "Scrape Website Content with Dumpling AI1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Scrape Website Content with Dumpling AI2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape Website Content with Dumpling AI1": {
      "main": [
        [
          {
            "node": "Extract all jobs1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code": {
      "main": [
        [
          {
            "node": "HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML": {
      "main": [
        [
          {
            "node": "Gmail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape Website Content with Dumpling AI2": {
      "main": [
        [
          {
            "node": "Extract all jobs2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract all jobs": {
      "main": [
        [
          {
            "node": "Extract job props2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract all jobs1": {
      "main": [
        [
          {
            "node": "Extract job props1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract all jobs2": {
      "main": [
        [
          {
            "node": "Extract job props",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract job props": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Extract job props1": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract job props2": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "9dbc3d7f-1e6d-4667-b309-dd2cb5253555",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "pTX2H25HRzTcxNIR",
  "tags": [
    {
      "createdAt": "2025-05-01T15:44:58.182Z",
      "updatedAt": "2025-05-01T15:44:58.182Z",
      "id": "nIpnswOQQh6LYQvy",
      "name": "Tutorials"
    }
  ]
}