Я использую node.js и puppeteer для получения некоторых данных. ... теперь я хочу преобразовать один из моих выходов. Вместо того, чтобы получить href как это:
Консоль
myURL/data/1344888/156999-18-1605-index.html
Желаемый вывод должен иметь такую структуру:
myURL/data/1344888/156999181605/156999-18-1605.txt
Как видите ... первая часть идентична:
myURL/data/1344888/
... средняя часть не должна иметь дефиса и является первой частью последней части:
/156999181605/
... и в последней части ... -index.html следует заменить на .txt
/156999-18-1605.txt
Вот так я получаю оригинальную ссылку:
const puppeteer = require('puppeteer');
const fs = require('fs-extra');
(async function main() {
try {
const browser = await puppeteer.launch({ headless: false })
const page = await browser.newPage();
await page.goto('myURL', {waitUntil: 'load'});
const table = await page.waitForSelector('#formDiv > div > table');
const link = await page.$('#formDiv > div > table > tbody > tr:nth-child(5) > td:nth-child(3) > a');
const linkHref = await page.evaluate( link => link.href, link );
console.log(linkHref);
...
} catch (e) {
console.log('our error', e);
}
})();
Как это могло быть сделано?
Консоль
myURL/data/1344888/156999-18-1605-index.html
Желаемый вывод должен:
myURL/data/1344888/156999181605/156999-18-1605.txt