LinkedIn 徵才貼文雷達
每天定時自動搜尋 LinkedIn 上符合特定關鍵字的個人徵才動態,並寫入至 Google 試算表中,節省人工爬文時間,掌握高價值的工作機會
問題
許多優質企業未公開招募職缺只出現在 LinkedIn 個人貼文中,常因演算法與人脈限制而錯過,而要靠人工搜尋,又得花費好多時間......
解法
透過定時排程啟動網頁自動化工具(Playwright),自動登入 LinkedIn 搜尋關鍵字並向下瀏覽,過濾重複內容後,將最新貼文直接寫入 Google 試算表。
流程
專案亮點
排程喚醒
確認網路就緒
搜尋並捲動載入
錨點擷取貼文
去重寫入試算表
- 智慧喚醒偵測:自動啟動時會先確認網路連線,避免因開機瞬間沒網而直接中斷報錯
- 防改版定位(data-testid):採用「網站身分標籤」鎖定資料,大幅降低因網頁改版而失效的機率
- 斷網自動備份:寫入試算表失敗時會自動重試;若完全斷網,則先將資料存至電腦本機,確保資料不遺失
爬蟲抓取結果 · Google Sheet
抗改版的擷取錨點(scrape.py)
// LinkedIn 的 CSS class 每次改版都是隨機雜湊值,不能拿來當 selector
// 改用不會變動的錨點:data-testid,以及祖先中的 /in/ 或 /company/ 連結
const items = document.querySelectorAll(
'[data-testid="expandable-text-box"]'
);
// 往上找最近的、包含個人檔案連結的祖先元素當作貼文容器
喚醒後的網路就緒檢查(scrape.py)
def wait_for_network(host="www.linkedin.com", port=443, max_wait=90):
deadline = time.time() + max_wait
while time.time() < deadline:
try:
with socket.create_connection((host, port), timeout=5):
return True
except OSError:
time.sleep(5)
return False