我正在尝试抓取一个HTML嵌套在JSON响应中的网站。我不能在嵌套的HTML上使用XPath,因为它是一种奇怪的模板格式,有什么方法可以将其转换为常规XML吗?
嵌套xml的第一部分如下所示:
{"template":"
<html>n
<head></head>n
<body>n
<h3 class="hide">Goods list</h3> n
<!-- type_list --> n
<div class="total_listing_wrap"> n
<ul class="tt_listbox sell_sec"> n
<li id="thisClick_1730512587" data-ctgrrank="0" data-seq="1"> n
<div class="total_listitem"> n
<div class="photo_wrap" name="prdPhoto"> n
只需使用JSON解析器将HTML提取为文本,然后使用HTML解析器将HTML转换为节点树。
使用XPath3.1,您可以在一个步骤中完成所有操作,例如:
let $doc := parse-xml(json-doc('input.json')?template)
return $doc//div[@class='total_listitem']
(假设HTML是格式良好的XML…(