前言
以爬取「自由時報電子報」為例,利用指定特定關鍵詞和時間區間的方式,可以把每天的新聞資料爬取下來。
建立專案
建立專案,選擇以 Puppeteer
作為驅動。
1 | npx crawlee create crawlee-example |
安裝依賴套件。
1 | npm i @apify/log commander dayjs dotenv |
實作
建立 src/ltn/index.js
檔。
1 | import log from '@apify/log'; |
常數
建立 src/ltn/constant/index.js
檔。
1 | export const BASE_URL = 'https://search.ltn.com.tw/list'; |
路由
建立 src/ltn/router/index.js
檔。
1 | import { createPuppeteerRouter } from 'crawlee'; |
處理器
建立 src/ltn/handlers/fetch-list.js
檔。
1 | import { LABEL_ITEM, LABEL_LIST } from '../constant/index.js'; |
建立 src/ltn/handlers/fetch-item.js
檔。
1 | import { Dataset } from 'crawlee'; |
啟動檔
建立 src/main.js
檔。
1 | import { Command } from 'commander'; |
使用
執行爬蟲。
1 | npm start -- --keyword 賴清德 --from 2023-01-01 --to 2023-01-31 |