htmlagilitypack InnerText 错误
htmlagilitypack InnerText bug
我正在尝试解析网站并获取一些内容。这是我的代码:
doc.DocumentNode.SelectSingleNode("//div[@class='article-content']").InnerText
我只需要文本,但结果是这样的:
一些文本...和这个数组:
( [0] => 39 [1] => 6 [2] => 10 [3] => 9 [4] => 13 [5] => 5 [6] => 7 [7] => 12 [8] => 11 [9] => 8 [10] => 14 [11] => 82 ) [archtoday] => 0 [hour] => 09:00 [autoarchive] => 1 [autoarchivereset] => 1 [show_description] => 0 [num_desc_words] => 10 [show_description_image] => 0 [num_leading_articles] => 0
我试过:
HtmlEntity.DeEntitize(doc.DocumentNode.SelectSingleNode("//div[@class='article-content']").InnerText)
div :
<div class="article-content">
关于内部文本需要注意的一点是,它会为您提供节点的文本内容,但不关心 CSS 或影响网页本身显示方式的任何其他内容。这意味着如果有一个节点 display
css 属性 设置为 none
然后 HTML 解析器不关心,它会显示文本无论如何该节点。这正是这里发生的事情。
http://www.interpressnews.ge/ge/politika/353565-barak-obamas-thanashemtse-rusethma-saqarthveloshi-gankhorcielebuli-intervenciis-dros-mighebuli-gakvethilebi-aithvisa.html 是您在评论中提到的页面。如果您查看页面的源代码(在 chrome 中按 ctrl-u,我认为是 firefox,不确定 IE 中的快捷方式)然后在页面中查找 article-content
,您将找到该文章并看到它里面还有一个 <div style="display:none;">
,其中包含您看到的奇怪文本。因此,这不是 html 敏捷包中的错误。
您将需要分析页面并编写更复杂的代码来准确计算出您要从页面中提取的内容。
我正在尝试解析网站并获取一些内容。这是我的代码:
doc.DocumentNode.SelectSingleNode("//div[@class='article-content']").InnerText
我只需要文本,但结果是这样的: 一些文本...和这个数组:
( [0] => 39 [1] => 6 [2] => 10 [3] => 9 [4] => 13 [5] => 5 [6] => 7 [7] => 12 [8] => 11 [9] => 8 [10] => 14 [11] => 82 ) [archtoday] => 0 [hour] => 09:00 [autoarchive] => 1 [autoarchivereset] => 1 [show_description] => 0 [num_desc_words] => 10 [show_description_image] => 0 [num_leading_articles] => 0
我试过:
HtmlEntity.DeEntitize(doc.DocumentNode.SelectSingleNode("//div[@class='article-content']").InnerText)
div :
<div class="article-content">
关于内部文本需要注意的一点是,它会为您提供节点的文本内容,但不关心 CSS 或影响网页本身显示方式的任何其他内容。这意味着如果有一个节点 display
css 属性 设置为 none
然后 HTML 解析器不关心,它会显示文本无论如何该节点。这正是这里发生的事情。
http://www.interpressnews.ge/ge/politika/353565-barak-obamas-thanashemtse-rusethma-saqarthveloshi-gankhorcielebuli-intervenciis-dros-mighebuli-gakvethilebi-aithvisa.html 是您在评论中提到的页面。如果您查看页面的源代码(在 chrome 中按 ctrl-u,我认为是 firefox,不确定 IE 中的快捷方式)然后在页面中查找 article-content
,您将找到该文章并看到它里面还有一个 <div style="display:none;">
,其中包含您看到的奇怪文本。因此,这不是 html 敏捷包中的错误。
您将需要分析页面并编写更复杂的代码来准确计算出您要从页面中提取的内容。