![](/img/trans.png)
[英]Finding Node of Matching Raw Html in an HtmlAgility HtmlDocument
[英]C# htmlAgility Webscrape html node inside the first Html node
我正在嘗試訪問此網站上的這些節點。 http://bcres.paragonrels.com/publink/default.aspx?GUID=2033c143-cdf1-46b4-9aac-2e27371de22d&Report=Yes
但是,它們似乎在初始文檔中的輔助HTML文檔中。 我很困惑如何訪問輔助html路徑,然后解析通過
這是節點之一的示例。
<div style="top:219px;left:555px;width:45px;height:14px;" id="" class="mls29">2</div>
我正在使用htmlAgility pack,並且每次嘗試訪問Div時都收到null。 我嘗試沿着節點向下工作,但沒有成功。
任何幫助或查找必要信息的地方都可以解決這個問題
var webGet = new HtmlWeb();
var document = webGet.Load("http://bcres.paragonrels.com/publink/default.aspx?GUID=d27a1d95- 623d-4f6a-9e49-e2e46ede136c&Report=Yes");
var divTags = document.DocumentNode.SelectNodes("/html");
var text = document.DocumentNode.InnerText;
MessageBox.Show(text);
如果您訪問以下網址,則可以抓取數據:
HtmlWeb w = new HtmlWeb();
var hd = w.Load("http://bcres.paragonrels.com/publink/Report.aspx?outputtype=HTML&GUID=2033c143-cdf1-46b4-9aac-2e27371de22d&ListingID=262103824:0&Report=Yes&view=29&layout_id=63");
var presentedBy = hd.DocumentNode.CssSelect(".mls23.at-phone-link");
if (presentedBy != null)
{
Console.WriteLine(presentedBy.FirstOrDefault().InnerText);
}
例如,抓取Presented By字段:
備注:
我將ScrapySharp nuget包與HtmlAgilityPack一起使用,因此我可以使用css選擇器而不是xpath表達式進行抓取-我發現這很容易做到。
您要抓取的網址是您的問題。 我正在抓取頁面加載后執行的最后一個get請求,如下面的屏幕截圖所示,使用Firefox開發人員工具分析了網站訪問量/網絡請求/響應:
我還不能確定到底是誰/什么觸發了這個http請求(可能是通過javascript代碼,可能是通過主文檔中請求的框架html之一(啟用框架的))。
如果您只有幾個這樣的網址需要抓取,那么即使手動提取正確的網址也將是一種選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.