0

テーブルを含む Web ページがあり、すべての行を取得したいのですが、ダウンロードすると、 の 1 つと複数の奇妙なテーブルが<tr>表示</tr>されるため、解析できません。私に何ができる?

私のコード:

  WebBrowser wb = new WebBrowser();
  wb.ScrollBarsEnabled = false;
  wb.ScriptErrorsSuppressed = true;
  wb.Navigate(link);
  while (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }
  string htmlDoc = wb.DocumentText;

  doc.LoadHtml(htmlDoc);

  nodesHtml = doc.DocumentNode.SelectNodes("//tr");

しかし、 のすべての行を取得する代わりにnodesHtml、1 行だけ取​​得します。奇妙なことに、FF のような実際のブラウザーでは html タグは適切に表示されますが、ページをダウンロードすると、html が正しく表示されません。

リンクは次のとおりです。 http://www.lre.com/test/searchresultx.asp?id=19

4

1 に答える 1

1

これは、ページの HTML が完全に非準拠であるため、問題が発生し ます。w3c のバリデーター
によって得られた結果を見てください。閉鎖の問題が山ほどあることがわかります。trtd

私のアドバイスは、Tidyを介して HTML を実行するか、HTMLAgilityPack の解析設定を試してみることです。

于 2013-03-14T02:46:10.393 に答える