Я импортирую данные с двух разных веб-сайтов - Квеб c .ca и Ontario.ca - в эти таблицы googlesheets .
Для веб-сайта Quebe c я использовал следующий код для импорта данных городов Квебе c, и он работал легко:
=IMPORTHTML("https://www.quebec.ca/en/health/health-issues/a-z/2019-coronavirus/situation-coronavirus-in-quebec/","table",1)
Для сайта Онтарио это это не так просто, потому что сайт javascript -подключен, поэтому IMPORT XML не будет работать. Итак, я наткнулся на Кукольника. Это мой первый опыт работы с Puppeteer.
Вот что я пытаюсь достичь:
- Запуск Puppeteer через каждые 10 минут для получения обновленных данных.
- Данные сохраняются на странице Stati c с аналогичным форматированием
- Данные Googlesheets импортируются из этого HTML с использованием функции IMPORT XML или IMPORT HTML.
Я хочу импортировать только следующий раздел с веб-сайта ():
Исходный код
Это Xpath-запросы Я только w sh для импорта.
Итак, я смог успешно установить Puppeteer и Node.js в свой VPS. После отладки я могу использовать следующий код:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({args: ['--no-sandbox']});
const page = await browser.newPage();
await page.goto('https://www.ontario.ca/page/2019-novel-coronavirus', {waitUntil: 'networkidle2'});
const data = await page.evaluate(()=>{
const tds = Array.from(document.querySelectorAll('tbody tr td'));
return tds.map(td => td.innerText);
});
console.log(data)
await page.pdf({path: 'ha.pdf', format: 'A4'});
await browser.close();
})();
Получен следующий результат:
Это несколько табличные данные, которые я хочу использовать sh, однако я хочу включить больше данных, показанных в Исходный код особенно эти .
Теперь, как я могу сделать эти данные регулярно экспортируются в формат страницы stati c, чтобы гугл листы можно было легко импортировать?