Я работаю над проектом node.js, и мне нужно очистить содержимое schema.org со страниц. Эти страницы содержат информацию schema.org в виде данных ldJSON внутри тега script:
<script type=application/ld+json>
Я пытался найти это в Интернете, но нашел только страницы с решениями для Python. Я нашел веб-страницы, которые предлагают просто использовать JSON.parse() для его анализа. Однако мне нужно получить содержимое тега script, как указано выше, прежде чем я это сделаю. Как получить содержимое этого тега script с помощью node.js? И JSON.parse() обычно используется в этом случае?
Нет, я строился уже несколько месяцев. Я ищу образцы кода, которые берут произвольный URL-адрес страницы и извлекают содержимое тега сценария определенного типа. В этом случае часть страницы содержит данные schema.org внутри тега скрипта ld+json (как указано выше). Я просто пытаюсь понять, как это обычно делается.
Также я задал очень похожий вопрос ранее вечером, и за него также проголосовали. Я не уверен, почему меня минусуют. Мой предыдущий вопрос также был закрыт, потому что я спрашивал о библиотеках, используемых для этого, поэтому в этот раз я этого не делал и задавал более острые вопросы. Является ли этот вопрос настолько простым, что его не следует задавать, или он настолько сложен, что представляет собой полный веб-скрейпер в одном вопросе? Я не понимаю.
@BlueWater86 Этот вопрос касается только того, как выбрать скрипт ldJSON из HTML.
Я решил это сам.
Ответ таков: если вы используете объект Puppeteer Page и хотите выбрать тег script для application/ld+json и получить содержимое, вы можете сделать это следующим образом:
const element = await page.$('script[type = "application/ld+json"]');
const text = await page.evaluate(element => element.innerText, element);
const JSONparsedText = JSON.parse(text)
Затем вы можете делать с объектом JSON все, что хотите, и извлекать данные json, как вам нравится. Мой первоначальный вопрос заключался в том, можете ли вы использовать селектор для тега script и получить этот контент innerText. Ответ - да, как описано выше.
Похоже, вы спрашиваете, как полностью создать парсер на NodeJS с нуля.