使用Xpath进行屏幕抓取

时间:2012-08-05 15:10:48

标签: c# asp.net vb.net xpath

以下是HTML:

    <div class="CatContent">
<div class="LeftCon">
<span class="mv"></span>
<a href="http://movies.justdial.com/movies/Mumbai.html" target="_blank" onclick="_ct("psc_Movies","hmpg");">
<p>
</div>
<div class="RightCon">
</div>

我想在h1标记之间提取文字,即Movies

用于在h1标记之间提取文本的XPath应该是什么。??

这就是我想要的:

Dim webGet = New HtmlWeb()
        Dim document = webGet.Load("http://www.asadsdsad.com/")
        Dim nodes = document.DocumentNode.SelectNodes("//*[@class='LeftCon']/a[@target='_blank']/h1")

        Dim _table As New Data.DataTable

        _table.Columns.Add("BusinessPIN", GetType(String))
        For i = 0 To nodes.Count - 1
            Dim _newRow As Data.DataRow = _table.NewRow
            _table.Rows.Add(nodes(i).InnerText)
        Next
        GridView1.DataSource = _table
        GridView1.DataBind()
        MsgBox(GridView1.Rows.Count)

我尝试了很多变化,但我总是得到“System.NullReferenceException:对象引用没有设置为对象的实例。”

1 个答案:

答案 0 :(得分:1)

  

用于在h1之间提取文本的XPath应该是什么   标签。??

//h1这将为您提供所有h1元素

迭代h1 htmlelements的集合,然后获取使用HtmlElement的InnerText属性的文本