抓取源为 jsp 的 IFrame
Scraping an IFrame which has as source a jsp
我是网络抓取的新手,我必须执行以下操作:
1.转到网页
2.找到一个元素
3.获取其值
现在我访问网页没有问题,工作正常。
问题是我需要的元素实际上来自显示在 iframe 中的 jsp。
我正在尝试使用 HtmlAgilityPack 和 ScrapySharp 获取元素。
这是我的代码:
ScrapingBrowser Browser = new ScrapingBrowser();
Browser.AllowAutoRedirect = true;
Browser.AllowMetaRedirect = true;
WebPage PageResult = Browser.NavigateToPage(new Uri("[The website I need to go to]"));
HtmlNode myNode = PageResult.Html.CssSelect("#WREPBody").First();
string innerHtml = myNode.InnerHtml;
这很好用。但它 returns 以下 :
<ilayer id="WREPBodyLayer" src="/app014/wrep/rep/gp/jsp/nl/REPGPdata.jsp"></ilayer>
现在我需要的实际元素是使用我认为的 REPGPdata.jsp 显示的。
jsp 显示数据如下:
我需要的元素将在标签 "Ondernemingsnr" 旁边。
有谁知道我怎样才能访问我需要的元素?
我找到了解决方案。
我只需要浏览到 jsp,然后从那个结果开始重新抓取。
我是网络抓取的新手,我必须执行以下操作: 1.转到网页 2.找到一个元素 3.获取其值
现在我访问网页没有问题,工作正常。 问题是我需要的元素实际上来自显示在 iframe 中的 jsp。
我正在尝试使用 HtmlAgilityPack 和 ScrapySharp 获取元素。
这是我的代码:
ScrapingBrowser Browser = new ScrapingBrowser();
Browser.AllowAutoRedirect = true;
Browser.AllowMetaRedirect = true;
WebPage PageResult = Browser.NavigateToPage(new Uri("[The website I need to go to]"));
HtmlNode myNode = PageResult.Html.CssSelect("#WREPBody").First();
string innerHtml = myNode.InnerHtml;
这很好用。但它 returns 以下 :
<ilayer id="WREPBodyLayer" src="/app014/wrep/rep/gp/jsp/nl/REPGPdata.jsp"></ilayer>
现在我需要的实际元素是使用我认为的 REPGPdata.jsp 显示的。 jsp 显示数据如下:
我需要的元素将在标签 "Ondernemingsnr" 旁边。 有谁知道我怎样才能访问我需要的元素?
我找到了解决方案。 我只需要浏览到 jsp,然后从那个结果开始重新抓取。