我正在尝试使用此代码使用vb.net
和HtmlAgilityPack
获取网页:
Dim mWPage As New HtmlAgilityPack.HtmlDocument
Dim wC As New WebClient()
mWPage.Load(wC.OpenRead(mUrl))
我的问题是从表中获取文本但是,当我提取InnerText时,我得到这样的结果:
Modificat<!--span-->i  dati
而不是(请注意,我写了相同的字符串,并在其下方正确显示):
Modificati dati
我尝试使用答案here,但在这种情况下不起作用(或者我无法使其有效)
当我更改“User-Agent”时,我注意到内容发生了变化,因此我尝试了各种“User-Agent”,但我从未得到过完美的文本。
所以我的问题是:
我可以使用答案中指出的代码来解决问题吗?
如果没有,我可以使用正确的“用户代理”获得完美的文本吗?
如果是这样,我怎样才能找到合适的“用户代理”?
如果没有,我该如何修复收到的字符串?
答案 0 :(得分:0)
基于新用户代理的服务器响应完全取决于服务器,因此我们无法预测哪一个会产生您正在寻找的响应。
但是......您将能够使用HttpUtility.HtmlDecode
方法摆脱已编码的HTML并将其转换为您正在寻找的字符串。
要过滤掉HTML评论,您可能需要更改您正在使用的XPath。如果您追加//text()
,则只应获得与表达式其余部分匹配的文本元素。