使用 xpath 抓取网页时遇到保留字符该怎么解决?

2017-05-06 01:55:29 +08:00
 Plumes

如题,当网页内容中包含例如 < 这类保留字符时,xpath 就没法正常工作了

比如这个网页

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<article>
	123<
</article>
<article>
	dfsfsd
</article>
</body>
</html>

当想使用

$article = $xpath->query("//article")->item(0);

提取出第一个 article 元素时并不能得到正确的结果

请问有什么办法解决或绕过么?

1311 次点击
所在节点    问与答
3 条回复
binux
2017-05-06 02:19:24 +08:00
你需要一个现代的 parser
lgh
2017-05-06 09:47:00 +08:00
你这网页不规范……<应该转换成实体&lt;
billlee
2017-05-06 13:46:05 +08:00
你需要一个 HTML parser, 而不是 XML parser

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/359495

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX