Vb.net 规范化HtmlAlityPack文档中的字符串
我正在尝试使用以下代码使用Vb.net 规范化HtmlAlityPack文档中的字符串,vb.net,string,html-agility-pack,Vb.net,String,Html Agility Pack,我正在尝试使用以下代码使用vb.net和HtmlAgilityPack获取网页: Dim mWPage As New HtmlAgilityPack.HtmlDocument Dim wC As New WebClient() mWPage.Load(wC.OpenRead(mUrl)) 我的问题是从表中获取文本,但当我提取InnerText时,会得到如下结果: Modificat<!--span-->i&
vb.net
和HtmlAgilityPack
获取网页:
Dim mWPage As New HtmlAgilityPack.HtmlDocument
Dim wC As New WebClient()
mWPage.Load(wC.OpenRead(mUrl))
我的问题是从表中获取文本,但当我提取InnerText时,会得到如下结果:
Modificat<!--span-->i  dati
M;od;如果i;cat;我 ;dat;我
而不是(注意,我写了相同的字符串,下面正确显示):
修改日期
我尝试过使用这个答案,但在这种情况下它不起作用(或者我没能让它起作用)
我注意到当我更改“用户代理”时,内容会发生变化,所以我尝试了各种“用户代理”,但我从未得到一个完美的文本
所以我的问题是:我可以使用答案中显示的代码来解决问题吗?
如果没有,我可以使用正确的“用户代理”获得完美的文本吗?
如果是,我如何找到正确的“用户代理”?
如果没有,我如何修复receivedstring?基于新用户代理的服务器响应完全依赖于服务器,因此我们无法预测哪一个将产生您正在寻找的响应 但是。。。您将能够使用该方法去除编码的HTML,并将其转换为您正在寻找的字符串
要过滤掉HTML注释,可能需要更改正在使用的XPath。如果追加
//text()
,则应仅获取与表达式其余部分匹配的文本元素 基于新用户代理的服务器响应完全依赖于服务器,因此我们无法预测哪一个将产生您正在寻找的响应
但是。。。您将能够使用该方法去除编码的HTML,并将其转换为您正在寻找的字符串
要过滤掉HTML注释,可能需要更改正在使用的XPath。如果追加
//text()
,则应仅获取与表达式其余部分匹配的文本元素 谢谢你的帮助。无论如何,我必须用WebUtility.HtmlDecode
更改HttpUtility.HtmlDecode
,谢谢你的帮助。无论如何,我必须用WebUtility.HtmlDecode
更改HttpUtility.HtmlDecode