Мне нужно извлечь информацию из файлов HTML.Для большинства из них мне просто нужно сопоставить содержимое или атрибут определенного элемента DOM, поэтому я использую выражения XPATH, такие как //a[@class="targeturl"]/@href
и инструмент командной строки xidel .
В другом пакете файлов нужная мне информация находится в script
, который не так легко доступен:
<html>
<head><!-- ... --></head>
<body>
...
<script>
...
var o = {
"numeric": 1234,
"target": "TARGET",
"urls": "http://example.com",
// Commented pair "strings": "...",
"arrays": [
{
"more": true
}
,
{
"itgoeson": true
}
]
};
</script>
...
</body>
</html>
Обратите внимание, что объект, содержащий значение, которое я хочу получить, не являетсядействительный JSON.Тем не менее, кажется, что в каждой строке соответствует одна пара ключ-значение.
Что я могу передать xidel --xpath "???"
, чтобы получить TARGET
?
Я пробовал разные вещи с функциями XPATH, но я не могу найти решение, не передавая другие команды (match
говорит мне да / нет, replace
работает построчно ...,и т.д.).