VB.net相同的数据在浏览器控件Scrape和Webrequest之间进行不同的拆分
因此,我在vb.net中打开了一个浏览器控件,刮去表行,然后在environment.newline上拆分来解析数据 我用一个webrequest加载同一个站点,数据就在那里(不隐藏在JS或任何东西后面),行使用相同的数据进行刮取,但这一次中间没有换行符 这一点让我有点困惑。我四处搜索,唯一相关的是webrequest的编码默认为UTF-8,但我试图阅读的页面顶部是:VB.net相同的数据在浏览器控件Scrape和Webrequest之间进行不同的拆分,vb.net,webrequest,scrape,Vb.net,Webrequest,Scrape,因此,我在vb.net中打开了一个浏览器控件,刮去表行,然后在environment.newline上拆分来解析数据 我用一个webrequest加载同一个站点,数据就在那里(不隐藏在JS或任何东西后面),行使用相同的数据进行刮取,但这一次中间没有换行符 这一点让我有点困惑。我四处搜索,唯一相关的是webrequest的编码默认为UTF-8,但我试图阅读的页面顶部是: <meta charset="utf-8"> 这很有效 WebRequest刮取: For Each node A
<meta charset="utf-8">
这很有效
WebRequest刮取:
For Each node As HtmlNode In SmarkDocument.DocumentNode.SelectNodes("//tr[@class='row']")
读取相同的数据,但似乎忽略换行符
字符串拆分是相同的语法,不删除换行符或任何东西,据我所知,webrequest中没有包含/排除它们的选项
如果有人能给我指点,我将不胜感激。您是在问如何使WebRequest不忽略换行符吗?我不确定具体的问题是什么。Webbrowser是浏览器,webrequest不是。浏览器可以解析和解释HTML,例如规范化新行。Webrequest不解析任何内容。如果
SmarkDocument
来自HtmlAgilityPack,则是包进行解析,并且它可以有不同的规则来规范换行符(例如,将换行符规范化为单个LF字符,而不是CRLF,因此它们将不再匹配environment.newline
)。
For Each node As HtmlNode In SmarkDocument.DocumentNode.SelectNodes("//tr[@class='row']")