Skip to content

ChunHao-dev/JobScrapy

Repository files navigation

Universal Job Scraper ๅคšๅนณๅฐ่ท็ผบๆŠ“ๅ–ๅทฅๅ…ท

Version License Language Manifest

๐Ÿš€ ไธ€้ตๆŠ“ๅ–ๅ„ๅคงๆฑ‚่ท็ถฒ็ซ™่ท็ผบๅˆฐ Notion๏ผŒๆ”ฏๆด AI ๆ™บๆ…งๅˆ†ๆžๅ’Œๅคš่ชž่จ€ไป‹้ข

English | ไธญๆ–‡


ไธญๆ–‡

๐Ÿ“‹ ๅŠŸ่ƒฝ็‰น่‰ฒ

  • ๐ŸŒ ๅคšๅนณๅฐๆ”ฏๆด๏ผšๆ”ฏๆด LinkedInใ€104ไบบๅŠ›้Š€่กŒใ€1111ไบบๅŠ›้Š€่กŒใ€Youratorใ€CakeResume
  • ๐Ÿค– AI ๆ™บๆ…งๅˆ†ๆž๏ผšๆ”ฏๆด OpenAI ๅ’Œ OpenRouter๏ผŒ่‡ชๅ‹•ๅˆ†ๆž่ท็ผบๅ…งๅฎนไธฆๆๅ–้—œ้ต่ณ‡่จŠ
  • ๐Ÿ“Š Notion ๆ•ดๅˆ๏ผšไธ€้ตๅฐ‡่ท็ผบ่ณ‡ๆ–™ๅ„ฒๅญ˜ๅˆฐๆ‚จ็š„ Notion ่ณ‡ๆ–™ๅบซ
  • ๐ŸŒ ๅคš่ชž่จ€ๆ”ฏๆด๏ผšๆไพ›็น้ซ”ไธญๆ–‡ๅ’Œ่‹ฑๆ–‡ไป‹้ข
  • โšก ่‡ชๅ‹•ๅŒ–ๆต็จ‹๏ผšๆ™บๆ…ง้ธๆ“‡็ˆถ้ ้ขใ€่‡ชๅ‹•ๅปบ็ซ‹่ณ‡ๆ–™ๅบซ
  • ๐Ÿ”ง ๅฝˆๆ€ง่จญๅฎš๏ผšๆ”ฏๆด่‡ชๅฎš็พฉ่ณ‡ๆ–™ๅบซๆฌ„ไฝๅ’Œ AI ๆจกๅž‹้ธๆ“‡

๐ŸŒ ๆ”ฏๆด็š„ๆฑ‚่ท็ถฒ็ซ™

็ถฒ็ซ™ URL ๅŒน้…ๆจกๅผ ็‹€ๆ…‹
LinkedIn linkedin.com/jobs/view/* โœ… ๅฎŒๅ…จๆ”ฏๆด
104ไบบๅŠ›้Š€่กŒ 104.com.tw/job/* โœ… ๅฎŒๅ…จๆ”ฏๆด
1111ไบบๅŠ›้Š€่กŒ 1111.com.tw/job/* โœ… ๅฎŒๅ…จๆ”ฏๆด
Yourator yourator.co/jobs/* โœ… ๅฎŒๅ…จๆ”ฏๆด
CakeResume cakeresume.com/jobs/* โœ… ๅฎŒๅ…จๆ”ฏๆด

๐Ÿ› ๏ธ ๅฎ‰่ฃๆ–นๅผ

ๆ–นๆณ• 1๏ผšChrome Web Store๏ผˆๆŽจ่–ฆ๏ผ‰

ๅณๅฐ‡ไธŠๆžถ๏ผŒๆ•ฌ่ซ‹ๆœŸๅพ…

ๆ–นๆณ• 2๏ผš้–‹็™ผ่€…ๆจกๅผๅฎ‰่ฃ

  1. ไธ‹่ผ‰ๅฐˆๆกˆ

    git clone https://github.com/your-username/universal-job-scraper.git
    cd universal-job-scraper
  2. ้–‹ๅ•Ÿ Chrome ๆ“ดๅ……ๅŠŸ่ƒฝ้ ้ข

    • ้–‹ๅ•Ÿ Chrome ็€่ฆฝๅ™จ
    • ๅ‰ๅพ€ chrome://extensions/
    • ้–‹ๅ•ŸๅณไธŠ่ง’็š„ใ€Œ้–‹็™ผไบบๅ“กๆจกๅผใ€
  3. ่ผ‰ๅ…ฅๆ“ดๅ……ๅŠŸ่ƒฝ

    • ้ปžๆ“Šใ€Œ่ผ‰ๅ…ฅๆœชๅฐ่ฃ้ …็›ฎใ€
    • ้ธๆ“‡ๅฐˆๆกˆ่ณ‡ๆ–™ๅคพ
    • ็ขบ่ชๆ“ดๅ……ๅŠŸ่ƒฝๅทฒๆˆๅŠŸ่ผ‰ๅ…ฅ

๐Ÿš€ ๅฟซ้€Ÿ้–‹ๅง‹

1. ่จญๅฎš Notion Integration

  1. ๅ–ๅพ— Notion Token

    • ๅ‰ๅพ€ Notion Integrations
    • ้ปžๆ“Šใ€Œ+ New integrationใ€
    • ๅกซๅ…ฅๅŸบๆœฌ่ณ‡่จŠไธฆๅปบ็ซ‹ Integration
    • ่ค‡่ฃฝ Internal Integration Token
  2. ๆบ–ๅ‚™ Notion ้ ้ข

    • ๅœจ Notion ไธญๅปบ็ซ‹ไธ€ๅ€‹็”จๆ–ผๅญ˜ๆ”พ่ท็ผบ็š„้ ้ข
    • ๅœจ้ ้ข่จญๅฎšไธญ๏ผŒ้‚€่ซ‹ๆ‚จๅ‰›ๅปบ็ซ‹็š„ Integration

2. ่จญๅฎšๆ“ดๅ……ๅŠŸ่ƒฝ

  1. ้–‹ๅ•Ÿๆ“ดๅ……ๅŠŸ่ƒฝ

    • ้ปžๆ“Š็€่ฆฝๅ™จๅทฅๅ…ทๅˆ—็š„ๆ“ดๅ……ๅŠŸ่ƒฝๅœ–็คบ
    • ๆˆ–ไฝฟ็”จๅฟซๆท้ตๆ‰“้–‹
  2. Notion ่จญๅฎš

    • ้ปžๆ“Šใ€Œโš™๏ธ Notion ่จญๅฎšใ€ๅฑ•้–‹่จญๅฎšๅ€ๅกŠ
    • ๅกซๅ…ฅ Integration Token
    • ้ปžๆ“Šใ€Œ๐Ÿ“ฅ ่ผ‰ๅ…ฅๅฏ็”จ้ ้ขใ€
    • ้ธๆ“‡็ˆถ้ ้ข
    • ้ธๆ“‡็พๆœ‰่ณ‡ๆ–™ๅบซๆˆ–ๅปบ็ซ‹ๆ–ฐ่ณ‡ๆ–™ๅบซ
    • ้ปžๆ“Šใ€Œ๐Ÿ’พ ๅ„ฒๅญ˜่จญๅฎšใ€
  3. AI ่จญๅฎš๏ผˆๅฏ้ธ๏ผ‰

    • ้–‹ๅ•Ÿใ€Œ๐Ÿค– ๅ•Ÿ็”จ AI ๅˆ†ๆžใ€
    • ้ปžๆ“Šใ€Œ๐Ÿค– AI ่จญๅฎšใ€ๅฑ•้–‹่จญๅฎšๅ€ๅกŠ
    • ้ธๆ“‡ AI ๅนณๅฐ๏ผˆOpenAI ๆˆ– OpenRouter๏ผ‰
    • ๅกซๅ…ฅ API Key
    • ้ปžๆ“Šใ€Œ๐Ÿ”„ ่ผ‰ๅ…ฅๆจกๅž‹ๅˆ—่กจใ€ไธฆ้ธๆ“‡ๆจกๅž‹
    • ้ปžๆ“Šใ€Œ๐Ÿ’พ ๅ„ฒๅญ˜ AI ่จญๅฎšใ€

3. ้–‹ๅง‹ๆŠ“ๅ–่ท็ผบ

  1. ๅ‰ๅพ€ๆ”ฏๆด็š„ๆฑ‚่ท็ถฒ็ซ™
  2. ้–‹ๅ•Ÿ่ท็ผบ่ฉณ็ดฐ้ ้ข
  3. ้ปžๆ“Šๆ“ดๅ……ๅŠŸ่ƒฝๅœ–็คบ
  4. ้ปžๆ“Šใ€Œ๐Ÿš€ ๆŠ“ๅ–่ท็ผบใ€ๆŒ‰้ˆ•
  5. ็ญ‰ๅพ…่™•็†ๅฎŒๆˆ๏ผŒ่ณ‡ๆ–™ๅฐ‡่‡ชๅ‹•ๅ„ฒๅญ˜ๅˆฐ Notion

๐Ÿ“Š ่ณ‡ๆ–™ๅบซๆฌ„ไฝ

้ ่จญ็š„ Notion ่ณ‡ๆ–™ๅบซๅŒ…ๅซไปฅไธ‹ๆฌ„ไฝ๏ผš

ๆฌ„ไฝๅ็จฑ ้กžๅž‹ ่ชชๆ˜Ž
่ทไฝๅ็จฑ Title ่ท็ผบๆจ™้กŒ
ๅ…ฌๅธ Rich Text ๅ…ฌๅธๅ็จฑ
ๅทฅไฝœๅœฐ้ปž Rich Text ๅทฅไฝœๅœฐ้ปž
่–ช่ณ‡ Rich Text ่–ช่ณ‡็ฏ„ๅœ
่ท็ผบ้€ฃ็ต URL ๅŽŸๅง‹่ท็ผบ้€ฃ็ต
็”ณ่ซ‹็‹€ๆ…‹ Select ็”ณ่ซ‹้€ฒๅบฆ่ฟฝ่นค
็”ณ่ซ‹ๆ—ฅๆœŸ Date ็”ณ่ซ‹ๆ™‚้–“
ๅทฅไฝœๆ่ฟฐ Rich Text ่ท็ผบๆ่ฟฐๅ…งๅฎน
ๆŠ€่ƒฝ่ฆๆฑ‚ Multi-select ๆ‰€้œ€ๆŠ€่ƒฝๆจ™็ฑค
ๅ‚™่จป Rich Text ๅ€‹ไบบๅ‚™่จป

โš™๏ธ ้€ฒ้šŽ่จญๅฎš

AI ๅˆ†ๆžๅŠŸ่ƒฝ

็•ถๅ•Ÿ็”จ AI ๅˆ†ๆžๆ™‚๏ผŒ็ณป็ตฑๆœƒ๏ผš

  • ๐Ÿ“ ่‡ชๅ‹•ๆๅ–ไธฆ็ตๆง‹ๅŒ–่ท็ผบ่ณ‡่จŠ
  • ๐Ÿท๏ธ ็”Ÿๆˆ็›ธ้—œๆŠ€่ƒฝๆจ™็ฑค
  • ๐Ÿ“Š ๅˆ†ๆž่–ช่ณ‡็ฏ„ๅœๅ’Œ็ฆๅˆฉ
  • ๐Ÿ’ก ๆไพ›่ท็ผบไบฎ้ปžๆ‘˜่ฆ

ๆ”ฏๆด็š„ AI ๅนณๅฐ

  • OpenAI๏ผšๆ”ฏๆด GPT-3.5ใ€GPT-4 ็ญ‰ๆจกๅž‹
  • OpenRouter๏ผšๆ”ฏๆดๅคš็จฎ้–‹ๆบๅ’Œๅ•†ๆฅญๆจกๅž‹

๐Ÿ”ง ้–‹็™ผ่ณ‡่จŠ

ๆŠ€่ก“ๆžถๆง‹

  • Manifest Version: 3
  • ๆ ธๅฟƒๆŠ€่ก“: Vanilla JavaScript (Functional Programming)
  • API ๆ•ดๅˆ: Notion APIใ€OpenAI APIใ€OpenRouter API
  • ๆฌŠ้™: ActiveTabใ€Storageใ€Scriptingใ€Notifications

ๅฐˆๆกˆ็ตๆง‹

JobScrpy/
โ”œโ”€โ”€ manifest.json          # ๆ“ดๅ……ๅŠŸ่ƒฝ้…็ฝฎ
โ”œโ”€โ”€ popup.html             # ๅฝˆๅ‡บ่ฆ–็ช— UI
โ”œโ”€โ”€ popup.js               # ๅฝˆๅ‡บ่ฆ–็ช—้‚่ผฏ (Functional Programming)
โ”œโ”€โ”€ content.js             # ๅ…งๅฎน่…ณๆœฌ (Functional Programming)
โ”œโ”€โ”€ background.js          # ่ƒŒๆ™ฏๆœๅ‹™
โ”œโ”€โ”€ _locales/              # ๅคš่ชž่จ€ๆ”ฏๆด
โ”‚   โ”œโ”€โ”€ en/messages.json   # ่‹ฑๆ–‡่ชž่จ€ๅŒ…
โ”‚   โ””โ”€โ”€ zh_TW/messages.json # ็น้ซ”ไธญๆ–‡่ชž่จ€ๅŒ…
โ”œโ”€โ”€ icons/                 # ๅœ–็คบๆช”ๆกˆ
โ”‚   โ”œโ”€โ”€ icon-16.png
โ”‚   โ”œโ”€โ”€ icon-32.png
โ”‚   โ”œโ”€โ”€ icon-48.png
โ”‚   โ””โ”€โ”€ icon-128.png
โ”œโ”€โ”€ NOTION_OAUTH_IMPLEMENTATION.md  # OAuth ๅฏฆไฝœๆŒ‡ๅ—
โ”œโ”€โ”€ NOTION_IMPROVEMENT_PLAN.md      # ๅŠŸ่ƒฝๆ”น้€ฒ่จˆๅŠƒ
โ””โ”€โ”€ README.md              # ๅฐˆๆกˆ่ชชๆ˜Ž

ๆœฌๅœฐ้–‹็™ผ

  1. ่ค‡่ฃฝๅฐˆๆกˆ

    git clone https://github.com/your-username/universal-job-scraper.git
    cd universal-job-scraper
  2. ๅฎ‰่ฃๅˆฐ Chrome

    • ้–‹ๅ•Ÿ chrome://extensions/
    • ๅ•Ÿ็”จ้–‹็™ผ่€…ๆจกๅผ
    • ่ผ‰ๅ…ฅๆœชๅฐ่ฃ้ …็›ฎ
  3. ้–‹็™ผๅ’Œ้™ค้Œฏ

    • ไฟฎๆ”น็จ‹ๅผ็ขผๅพŒ้‡ๆ–ฐ่ผ‰ๅ…ฅๆ“ดๅ……ๅŠŸ่ƒฝ
    • ไฝฟ็”จ Chrome DevTools ้€ฒ่กŒ้™ค้Œฏ
    • ๆŸฅ็œ‹ Console ่ผธๅ‡บๅ’Œ็ถฒ่ทฏ่ซ‹ๆฑ‚

ๆ ธๅฟƒๅŠŸ่ƒฝๆต็จ‹

graph TD
    A[็”จๆˆถๅœจๆฑ‚่ท็ถฒ็ซ™] --> B[้ปžๆ“ŠๆŠ“ๅ–ๆŒ‰้ˆ•]
    B --> C[content.js ๆŠ“ๅ–้ ้ข่ณ‡ๆ–™]
    C --> D[็™ผ้€ๅˆฐ background.js]
    D --> E{ๅ•Ÿ็”จ AI ๅˆ†ๆž?}
    E -->|ๆ˜ฏ| F[่ชฟ็”จ AI API ๅˆ†ๆž]
    E -->|ๅฆ| G[็›ดๆŽฅ่™•็†ๅŽŸๅง‹่ณ‡ๆ–™]
    F --> H[ๅˆไฝต AI ๅˆ†ๆž็ตๆžœ]
    G --> I[ไธŠๅ‚ณๅˆฐ Notion]
    H --> I
    I --> J[่ฟ”ๅ›ž็ตๆžœ็ตฆ็”จๆˆถ]
Loading

๐Ÿ”ฎ ๆœชไพ†่จˆๅŠƒ

  • OAuth 2.0 ๆ•ดๅˆ๏ผšๅฏฆไฝœๆŒ‡ๅ—
  • ๆ‰น้‡่™•็†๏ผšไธ€ๆฌกๆŠ“ๅ–ๅคšๅ€‹่ท็ผบ
  • ่‡ชๅ‹•็”ณ่ซ‹่ฟฝ่นค๏ผš่‡ชๅ‹•ๆ›ดๆ–ฐ็”ณ่ซ‹็‹€ๆ…‹
  • ๅฑฅๆญทๅŒน้…๏ผšAI ๅˆ†ๆž่ท็ผบ่ˆ‡ๅฑฅๆญท็š„ๅŒน้…ๅบฆ
  • ่–ช่ณ‡ๅˆ†ๆž๏ผšๅธ‚ๅ ด่–ช่ณ‡่ถจๅ‹ขๅˆ†ๆž
  • ๆ›ดๅคšๆฑ‚่ท็ถฒ็ซ™๏ผšๆ“ดๅฑ•ๆ”ฏๆดๆ›ดๅคšๅนณๅฐ

โ“ ๅธธ่ฆ‹ๅ•้กŒ

Q: ็‚บไป€้บผ็„กๆณ•่ผ‰ๅ…ฅ Notion ้ ้ข๏ผŸ

A: ่ซ‹็ขบ่ช๏ผš

  • Integration Token ๆ˜ฏๅฆๆญฃ็ขบ
  • Integration ๆ˜ฏๅฆๅทฒ้‚€่ซ‹ๅˆฐ็›ฎๆจ™้ ้ข
  • ็ถฒ่ทฏ้€ฃๆŽฅๆ˜ฏๅฆๆญฃๅธธ

Q: AI ๅˆ†ๆžๅŠŸ่ƒฝ็„กๆณ•ไฝฟ็”จ๏ผŸ

A: ่ซ‹ๆชขๆŸฅ๏ผš

  • AI API Key ๆ˜ฏๅฆๆœ‰ๆ•ˆ
  • ๆ˜ฏๅฆ้ธๆ“‡ไบ†ๆญฃ็ขบ็š„ๆจกๅž‹
  • API ้กๅบฆๆ˜ฏๅฆๅ……่ถณ

Q: ๆ”ฏๆดๅ“ชไบ›่ท็ผบ็ถฒ็ซ™๏ผŸ

A: ็›ฎๅ‰ๆ”ฏๆด LinkedInใ€104ใ€1111ใ€Youratorใ€CakeResumeใ€‚ๆœชไพ†ๆœƒ้™ธ็บŒๆ–ฐๅขžๆ›ดๅคšๅนณๅฐใ€‚

Q: ๅฆ‚ไฝ•่‡ชๅฎš็พฉ่ณ‡ๆ–™ๅบซๆฌ„ไฝ๏ผŸ

A: ๆ‚จๅฏไปฅๅœจ Notion ไธญๆ‰‹ๅ‹•ไฟฎๆ”น่ณ‡ๆ–™ๅบซๆฌ„ไฝ๏ผŒๆ“ดๅ……ๅŠŸ่ƒฝๆœƒ่‡ชๅ‹•้ฉๆ‡‰ๅคง้ƒจๅˆ†็š„ๆฌ„ไฝ่ฎŠๆ›ดใ€‚

๐Ÿค ่ฒข็ปๆŒ‡ๅ—

ๆญก่ฟŽ่ฒข็ป็จ‹ๅผ็ขผใ€ๅ›žๅ ฑๅ•้กŒๆˆ–ๆๅ‡บๅปบ่ญฐ๏ผ

  1. Fork ๅฐˆๆกˆ
  2. ๅปบ็ซ‹ๅŠŸ่ƒฝๅˆ†ๆ”ฏ: git checkout -b feature/amazing-feature
  3. ๆไบค่ฎŠๆ›ด: git commit -m 'Add some amazing feature'
  4. ๆŽจ้€ๅˆ†ๆ”ฏ: git push origin feature/amazing-feature
  5. ้–‹ๅ•Ÿ Pull Request

๐Ÿ“ž ่ฏ็ตก่ณ‡่จŠ

๐Ÿ“„ ๆŽˆๆฌŠๆขๆฌพ

ๆœฌๅฐˆๆกˆๆŽก็”จ MIT ๆŽˆๆฌŠๆขๆฌพใ€‚


English

๐Ÿ“‹ Features

  • ๐ŸŒ Multi-Platform Support: Support for LinkedIn, 104, 1111, Yourator, CakeResume
  • ๐Ÿค– AI Smart Analysis: Supports OpenAI and OpenRouter for automatic job content analysis
  • ๐Ÿ“Š Notion Integration: One-click save job data to your Notion database
  • ๐ŸŒ Multi-Language: Traditional Chinese and English interface
  • โšก Automated Workflow: Smart parent page selection and auto database creation
  • ๐Ÿ”ง Flexible Configuration: Custom database fields and AI model selection

๐ŸŒ Supported Job Sites

Site URL Pattern Status
LinkedIn linkedin.com/jobs/view/* โœ… Full Support
104 104.com.tw/job/* โœ… Full Support
1111 1111.com.tw/job/* โœ… Full Support
Yourator yourator.co/jobs/* โœ… Full Support
CakeResume cakeresume.com/jobs/* โœ… Full Support

๐Ÿ› ๏ธ Installation

Method 1: Chrome Web Store (Recommended)

Coming soon

Method 2: Developer Mode

  1. Download Project

    git clone https://github.com/your-username/universal-job-scraper.git
    cd universal-job-scraper
  2. Open Chrome Extensions Page

    • Open Chrome browser
    • Navigate to chrome://extensions/
    • Enable "Developer mode" in top right
  3. Load Extension

    • Click "Load unpacked"
    • Select project folder
    • Confirm extension is loaded successfully

๐Ÿš€ Quick Start

1. Setup Notion Integration

  1. Get Notion Token

    • Go to Notion Integrations
    • Click "+ New integration"
    • Fill in basic info and create integration
    • Copy the Internal Integration Token
  2. Prepare Notion Page

    • Create a page in Notion for storing job data
    • In page settings, invite your newly created integration

2. Configure Extension

  1. Open Extension

    • Click extension icon in browser toolbar
    • Or use keyboard shortcut
  2. Notion Settings

    • Click "โš™๏ธ Notion Configuration" to expand settings
    • Enter Integration Token
    • Click "๐Ÿ“ฅ Load Available Pages"
    • Select parent page
    • Choose existing database or create new one
    • Click "๐Ÿ’พ Save Configuration"
  3. AI Settings (Optional)

    • Enable "๐Ÿค– Enable AI Analysis"
    • Click "๐Ÿค– AI Configuration" to expand settings
    • Choose AI platform (OpenAI or OpenRouter)
    • Enter API Key
    • Click "๐Ÿ”„ Load Model List" and select model
    • Click "๐Ÿ’พ Save AI Configuration"

3. Start Scraping Jobs

  1. Navigate to supported job site
  2. Open job detail page
  3. Click extension icon
  4. Click "๐Ÿš€ Scrape Job" button
  5. Wait for processing, data will be saved to Notion automatically

๐Ÿ“Š Database Schema

Default Notion database includes these fields:

Field Name Type Description
Job Title Title Job position title
Company Rich Text Company name
Location Rich Text Work location
Salary Rich Text Salary range
Job URL URL Original job posting link
Application Status Select Application progress tracking
Application Date Date When applied
Job Description Rich Text Job description content
Skills Required Multi-select Required skill tags
Notes Rich Text Personal notes

โš™๏ธ Advanced Configuration

AI Analysis Features

When AI analysis is enabled, the system will:

  • ๐Ÿ“ Automatically extract and structure job information
  • ๐Ÿท๏ธ Generate relevant skill tags
  • ๐Ÿ“Š Analyze salary range and benefits
  • ๐Ÿ’ก Provide job highlight summaries

Supported AI Platforms

  • OpenAI: Supports GPT-3.5, GPT-4, and other models
  • OpenRouter: Supports various open-source and commercial models

๐Ÿ”ง Development Information

Technical Architecture

  • Manifest Version: 3
  • Core Technology: Vanilla JavaScript (Functional Programming)
  • API Integration: Notion API, OpenAI API, OpenRouter API
  • Permissions: ActiveTab, Storage, Scripting, Notifications

Project Structure

JobScrpy/
โ”œโ”€โ”€ manifest.json          # Extension configuration
โ”œโ”€โ”€ popup.html             # Popup window UI
โ”œโ”€โ”€ popup.js               # Popup window logic (Functional Programming)
โ”œโ”€โ”€ content.js             # Content script (Functional Programming)
โ”œโ”€โ”€ background.js          # Background service
โ”œโ”€โ”€ _locales/              # Multi-language support
โ”‚   โ”œโ”€โ”€ en/messages.json   # English language pack
โ”‚   โ””โ”€โ”€ zh_TW/messages.json # Traditional Chinese language pack
โ”œโ”€โ”€ icons/                 # Icon files
โ”‚   โ”œโ”€โ”€ icon-16.png
โ”‚   โ”œโ”€โ”€ icon-32.png
โ”‚   โ”œโ”€โ”€ icon-48.png
โ”‚   โ””โ”€โ”€ icon-128.png
โ”œโ”€โ”€ NOTION_OAUTH_IMPLEMENTATION.md  # OAuth implementation guide
โ”œโ”€โ”€ NOTION_IMPROVEMENT_PLAN.md      # Feature improvement plan
โ””โ”€โ”€ README.md              # Project documentation

Local Development

  1. Clone Project

    git clone https://github.com/your-username/universal-job-scraper.git
    cd universal-job-scraper
  2. Install to Chrome

    • Open chrome://extensions/
    • Enable developer mode
    • Load unpacked extension
  3. Development and Debugging

    • Reload extension after code changes
    • Use Chrome DevTools for debugging
    • Check Console output and network requests

Core Functionality Flow

graph TD
    A[User on Job Site] --> B[Click Scrape Button]
    B --> C[content.js Extracts Page Data]
    C --> D[Send to background.js]
    D --> E{AI Analysis Enabled?}
    E -->|Yes| F[Call AI API for Analysis]
    E -->|No| G[Process Raw Data]
    F --> H[Merge AI Analysis Results]
    G --> I[Upload to Notion]
    H --> I
    I --> J[Return Result to User]
Loading

๐Ÿ”ฎ Future Plans

  • OAuth 2.0 Integration: Implementation Guide
  • Batch Processing: Scrape multiple jobs at once
  • Auto Application Tracking: Automatically update application status
  • Resume Matching: AI analysis of job-resume compatibility
  • Salary Analysis: Market salary trend analysis
  • More Job Sites: Expand support for more platforms

โ“ FAQ

Q: Why can't I load Notion pages?

A: Please confirm:

  • Integration Token is correct
  • Integration has been invited to target page
  • Network connection is stable

Q: AI analysis feature not working?

A: Please check:

  • AI API Key is valid
  • Correct model is selected
  • API quota is sufficient

Q: Which job sites are supported?

A: Currently supports LinkedIn, 104, 1111, Yourator, CakeResume. More platforms will be added in the future.

Q: How to customize database fields?

A: You can manually modify database fields in Notion, and the extension will automatically adapt to most field changes.

๐Ÿค Contributing

Contributions, issues, and feature requests are welcome!

  1. Fork the project
  2. Create feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'Add some amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open Pull Request

๐Ÿ“ž Contact

๐Ÿ“„ License

This project is licensed under the MIT License.


๐Ÿ™ Acknowledgments


Made with โค๏ธ by [Your Name]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors