1
2import axios from "axios";
3
4import * as cheerio from "cheerio";
5
6import { Actor } from "apify";
7
8const {
9 APIFY_API_PUBLIC_BASE_URL,
10 APIFY_API_BASE_URL,
11 APIFY_DEFAULT_KEY_VALUE_STORE_ID,
12 APIFY_USER_PRICING_TIER,
13 APIFY_USER_IS_PAYING,
14} = process.env;
15
16console.log('vars', {APIFY_USER_PRICING_TIER, APIFY_USER_IS_PAYING});
17
18
19
20const kvUrl = `${APIFY_API_PUBLIC_BASE_URL}/v2/key-value-stores/${APIFY_DEFAULT_KEY_VALUE_STORE_ID}`;
21
22const kvResponse = await axios.get(kvUrl);
23console.log('kvResponse', { data: kvResponse.data });
24
25
26await Actor.init();
27console.log('env', { ...process.env });
28
29const input = await Actor.getInput();
30const { url } = input;
31
32
33const response = await axios.get(url);
34
35
36const $ = cheerio.load(response.data);
37
38
39const headings = [];
40$("h1, h2, h3, h4, h5, h6").each((i, element) => {
41 const headingObject = {
42 level: $(element).prop("tagName").toLowerCase(),
43 text: $(element).text(),
44 };
45 console.log("Extracted heading", headingObject);
46 headings.push(headingObject);
47});
48
49
50await Actor.pushData(headings);
51
52
53await Actor.exit();